The strict variant of the standard Haskell
Maybe type and the
corresponding variants of the functions from
Data.Maybe.
Note that in contrast to the standard lazy
Maybe type, the
strict
Maybe type is not an applicative functor, and therefore
also not a monad. The problem is the
homomorphism law, which
states that
pure f <*> pure x = pure (f x) -- must hold for all f
This law does not hold for the expected applicative functor instance
of
Maybe, as this instance does not satisfy
pure f
<*> pure _|_ = pure (f _|_) for
f = const.