I dont think you get bogged down in an endless sea of if else statements because you call coroutines simultaneously. Coroutines are methods that run over many frames. Once those coroutines reach an exit condition then you act appropriatly just like in a behavior tree.
For example the _find_enemy coroutine checks for an enemy every second and if one is found then its done and now you can proceed down the tree or whatever.
Having said that I dont necessarily think skookum ai programming is better or anything than ue4 behavior trees. I just prefer to avoid any and all visual wiring / programming.
I’m sure complex behaviors in skookum will be just as complex as complex behavior trees in ue4