I wound find it interesting to learn what exactly will break when this
instance is removed / what feature motivated the addition of the einstance.
I'm taking a guess here, maybe it's Generics based deriving?
data D = D { something :: Int, somethingElse :: Int -> String }
deriving Generic
deriving instance NFData D
Is it this?