Monad updated to separated ans explicit state and error
Work on coroutines removed + C.t instead of M.t