concrete functor and monad transformers

#8Data.Functor.Class: Wrapper type that resolves e.g. (Eq (f a)) to (Eq1 f, Eq a)

newtype Wrap f a = Wrap {unwrap :: f a}

instance (Eq1 f, Eq a) => Eq (Wrap f a) where
   Wrap x == Wrap y  =  eq1 x y

We should also have analogous instances for Ord, Show, Read.