flexiwrap-0.0.1: Data/Flex/MonadPlus.hs
{-# LANGUAGE ScopedTypeVariables, PolymorphicComponents #-}
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-}
-- .$Header$
module Data.Flex.MonadPlus where
class FWMonadPlus (m :: * -> *) r | m -> r
data FWDefaultMonadPlus = FWDefaultMonadPlus
data FWMZero t (m :: * -> *) = FWMZero
newtype WrapMZero m = WrapMZero {unwrapMZero :: forall a. m a}
data FWMPlus t (m :: * -> *) = FWMPlus
newtype WrapMPlus m = WrapMPlus {unwrapMPlus :: forall a. m a -> m a -> m a}
-- vim: expandtab:tabstop=4:shiftwidth=4