Whether or not bitfields are encoded as little or big endian, reading back in the wrong order will cause bitfields to be incorrectly read. Right now they are implied to be big endian, which should be added to the doc.
A way to specify little endian could be helpful, as numerical encoding in any non-Java/JVM language is little endian by default. Also, would be nice to have a explicit note that the highest bit on a unpacked integer should be the sign bit in two's complement.