Design an opaque data type

As with most data types, an opaque data type can have two representations for its data:
  • The external representation, which is a text or binary representation of the opaque-type data
  • The internal representation, which is the internal structure stored on disk

To design an opaque data type, you must determine these representations for the opaque-type data.