Mk 123 type serialization

Still need to handle BooleanType, ByteTupleType, FloatingPointType, and PackedType.

Ultimately, we need to reconsider the interface for these types, but this will do for now.