Preparing for a Monad instance
Monad instance
await and yield