Modified Tuple to work with floats, doubles, BigDecimals, BigIntegers.

I think 0x1d and 0x1e were intended for negative and positive arbitrary precision integers. I'll double check that.