Describe the bug
The return of ControlledOnInt is an operation that takes a tuple (Qubit[], 'T). I think it should return an operation that takes a tuple of (LittleEndian, 'T) so that there is a clear interpretation of the integer that the register is supposed to represent.
To Reproduce
Not really any steps, just an inconsistent design.
Expected behavior
As noted above, to be able to control on an integer there has to be way to interpret a register as an integer. This can be encoded in the type signature by having the operation take a type LittleEndian.