Converts a Maybe value to an Either value, using the supplied
parameter as the Left value if the Maybe is Nothing.
This function can be interpreted as:
maybeToEither :: e -> Maybe a -> Either e a
Its definition is given as it is so that it can be used in the Error
and related monads.