Monadic trampolines for stackless recursion in Rust