Not just Maybe
http://haskell.org/wikisnapshot/NotJustMaybe.html
Note: Many now consider the fail method of Monad to be a failure, as it defaults to throwing an exception. Modern Haskell style tends towards using total functions wherever possible, and this idiom has come increasingly to be frowned upon.