Extended Maybe monad implementation

Still without proper comments