I guess my troubles mostly come from the limitation that suspending functions can only call other suspension functions as tail calls.
Because I want to call one suspending function (from within another suspending function) but then return a different result.