Refactored to use Trampoline Monad Transformer to interleave computations in combine combinator