haskell Partial functions from the base library, such as @head@ and @!!@, modified to return more descriptive error messages, programmer defined error messages, @Maybe@ wrapped results and default values. These functions can be used to reduce the number of unsafe pattern matches in your code. ndmitchell/safe#readme