In this issue on the hpack tracker, I describe my swing at coming up with a conservative set of extensions:
The list I ended up with is:
LambdaCase, GADTSyntax, ScopedTypeVariables, TupleSections, BangPatterns,
FlexibleInstances, FlexibleContexts, MultiWayIf, TypeOperators, FunctionalDependencies,
BinaryLiterals, RecursiveDo, ParallelListComp, PartialTypeSignatures, EmptyCase, InstanceSigs
Not sure about FlexibleInstances, EmptyCase, or TupleSections (see the issue).
If some set like this is accepted, then that "just" leaves figuring out the set of more complicated type system extensions :)
-Michael