Unlike many langauges where Int is in the range 231 to 231-1 using one bit for the sign bit, Haskell instead uses the range 229 to 229-1, or in other words 29 bits + 3 bits for something else... I'm guessing one of those three are the sign bit, but what then are the remaining two bits used for?