Petr,
Short answer: you can't. Easiest way to workaround is to define a newtype wrapper around your original datatype:newtype X' b a = X' {unX' :: X a b} instance Functor (X' b) where fmap g (X' (X a b)) = X' (X b (g a))
Err.... fmap g (X' (X a b)) = X' (X (g a) b) Cheers, Stefan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe