The trac issue this is asking about is found here: https://ghc.haskell.org/trac/ghc/ticket/14839. I'm looking for any feedback from the broader community to see if the proposed law is incompatible with any important uses of Bits. The text of the trac issue is provided below:
The documentation for the Bits typeclass claims:
Bits are numbered from 0 with bit 0 being the least significant bit.
In another package of mine, someone requested to add a Bits instance for a type but with the MSB considered bit 0. (https://github.com/andrewthad/haskell-ip/issues/29) I thought this would fail to satisfy a law of Bits, but it doesn't. So at the least, I was thinking we could add the following laws to FiniteBits: