> I don't really expect any of the TypeInType stuff to work with the deriving > machinery.
I do! And we can make -XDeriveFunctor work well with -XTypeInType regardless of which option is picked, so keep that in mind. > I think that, at the moment, for a normal deriving clause, GHC never adds in > constraints (I might be wrong on this). GHC does add constraints in some cases. Here's a less dangerous-looking example: data T (a :: k) = T deriving Functor => instance Functor T The generated instance very subtly constraints k to be *. The difference in this example, however, is that k is not visible, so it feels less harmful to constrain it. > I don't know if StandaloneDeriving works with DeriveFunctor or not It does. -XStandaloneDeriving works with any flavor of deriving out there, and it's a great backdoor to get around sticky deriving issues like this (e.g., if a derived instance context would require undecidable typechecking, we bail out and tell the user to try again with -XStandaloneDeriving). I don't have a strong opinion on whether option 1, 2, or 3 is best, but if we pick option 1 or 2, I request that the error message tell the user to try -XStandaloneDeriving. Ryan S. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs