Lets build a monad library - Using Maybe and some extra thoughts