{-# LANGUAGE ScopedTypeVariables, PolymorphicComponents #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-}
-- .$Header: c:/Source/Haskell/Wrapper/Data/Flex/RCS/MonadTrans.hs,v 1.2 2010/03/12 23:46:34 dosuser Exp dosuser $
module Data.Flex.MonadTrans where

class FWMonadTrans (f :: (* -> *) -> (* -> *)) a | f -> a

data FWDefaultMonadTrans = FWDefaultMonadTrans

data FWLift (t :: (* -> *) -> (* -> *))

newtype WrapLift t =
    WrapLift {unwrapLift :: forall m a. Monad m => m a -> t m a}

-- vim: expandtab:tabstop=4:shiftwidth=4