A maybe-monad implementation with some convenient extras.