Draft: TH: handle explicit quantification in instances
This patch adds support for explicitly-written quantification in typeclass instances, such as:
instance forall k (a :: k). C a
deriving instance forall k (a :: k). D a
It does so by adding a field of type Maybe (TyVarBndr ())
to both the InstanceD
and StandaloneDerivD
constructors of the
Template Haskell Dec
datatype, and making appropriate use of it to
ensure that spliced declarations don't silently drop the user-written
quantification.