ghc7 does not equate type synonyms under RankNTypes
See the source at
http://hpaste.org/43297/ghc7_problem_with_rankntypes_a
It works on ghc6 but not on ghc 7
The type error message is
ghc7rankn.hs:23:20:
Couldn't match expected type `forall a'1.
x a'1 -> Const (Const b a') a'1'
with actual type `forall a'1. x1 a'1 -> Const b a'1'
Expected type: (forall a'1. x a'1 -> Const (Const b a') a'1)
-> f x a
-> Const (Const b a') a
Actual type: (forall a'1. x1 a'1 -> Const b a'1)
-> f1 x1 a1
-> Const b a1
In the first argument of `mcata', namely `f'
In the first argument of `f', namely `(mcata f)'