Pragma OverlappingInstances is deprecated in GHC for quite awhile and OVERLAPPING pragma is a substitute for that.
instance {-# OVERLAPPING #- } ...
Though this is not the only way in Haskell to define a class instance. I cannot define overlapping instance through deriving and avoid pesky warning about deprecated OverlappingInstances.
None of below cases are working:
deriving {-# OVERLAPPING #-} (Lift)
deriving ({-# OVERLAPPING #-} Lift)
You need to use
StandaloneDeriving
for such instances, as well as for ones that need specialized instance contexts.