instance Bits Integer should have explicit definitions for setBit, clearBit and complementBit
Currently this instance relies on the default definitions which allocate intermediate Integer
values. It should be possible to avoid these allocations by using the BigNat#
primitives.