Option
Monad
TODO: remove `OptionM` after update stage0 see: https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Do.20we.20still.20need.20OptionM.3F/near/279761084
Monad Option
Alternative Option
We should use `OptionM` instead. `Option` still implements `Functor` and `OrElse`. cc @Kha