-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Strict Maybe without space and indirection overhead -- -- Strict Maybe without space and indirection overhead. Inspired by -- Rust's Option, which is represented by either a pointer to the object -- or a specific "null" pointer. The implementation is a giant unsafe -- trick. @package flat-maybe @version 0.1.0.0 module Data.Maybe.Flat data Maybe (a :: *) maybe :: b -> (a -> b) -> Maybe a -> b instance GHC.Base.Functor Data.Maybe.Flat.Maybe instance Data.Foldable.Foldable Data.Maybe.Flat.Maybe instance Data.Traversable.Traversable Data.Maybe.Flat.Maybe instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Maybe.Flat.Maybe a) instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Maybe.Flat.Maybe a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Maybe.Flat.Maybe a) instance GHC.Show.Show a => GHC.Show.Show (Data.Maybe.Flat.Maybe a) instance GHC.Read.Read a => GHC.Read.Read (Data.Maybe.Flat.Maybe a) instance GHC.Base.Applicative Data.Maybe.Flat.Maybe instance GHC.Base.Monad Data.Maybe.Flat.Maybe instance GHC.Base.Alternative Data.Maybe.Flat.Maybe instance GHC.Base.MonadPlus Data.Maybe.Flat.Maybe instance Control.Monad.Fix.MonadFix Data.Maybe.Flat.Maybe instance Data.Data.Data a => Data.Data.Data (Data.Maybe.Flat.Maybe a)