-- 021202 -- H98-compliant -- Liftable is essentially an extension of Functor. fmap and lift1 should be -- the same. We could have opted to make Liftable a subclass to Functor, but -- haven't done so. If some good reason appears, then we might revert this -- decision. module Liftable where class Liftable k where lift0 :: a -> k a lift1 :: (a -> b) -> (k a -> k b) lift2 :: (a -> b -> c) -> (k a -> k b -> k c)