If the value type provides the user defined methods for reading
and writing its content, it must implement this interface for reading
and writing the content in a user-defined default way. This is done by
implementing the CustomMarshal and
CustomMarshal. The user must provide the supporting code.