pub fn fmap<E, I, T, U>( g: impl Coroutine<I, Yield = E, Return = T>, f: impl FnOnce(T) -> U, ) -> impl Coroutine<I, Yield = E, Return = U>