The main purpose of the type is to efficiently switch on field type. For every other use case, prefer to use the field, array, and object types directly. The accessors here do not check the type before reading the value, which means they can read out of bounds even on a valid compact binary value if the wrong accessor is used.