proposed changes to ghc/Generic would mean that all data used with
LVish would have to expose it's implementation to everybody through
the derived Generic instance.
Either that or they would have use TrustWorthy to mark a module containing custom equality/ordering operations as safe according to our definition, and take the proof obligations that come with that.
In fact, this is what we would plan to do to "opt in" ADTs like bytestring, vector, containers.
We can trust as many people/libraries as we like, but we want to retain the ability to run untrusted code with the right set of flags to ensure that it can't break our library. (And that's what we can't do without locking down the Generic backdoor.)