Just to be clear: decode_number() wasn't a good idea!

There is now a much better (= cleaner and faster) solution involving
FormatType, SubtypeType and EndianType.