This module provides support for optionality records.
Optionality records are used to specify interfaces with optional input data. Compared to an
ordinary record type, an optionality record type states for every field whether it is required
or optional. This is done by a slight abuse of field names. A field name
name is replaced by
. Optionality record types are never used directly in
types of actual values. Instead, they are converted into ordinary record types with the type
A marker for required fields.
A marker for optional fields.
The class of all optionality record types.
Extracts all required fields from an optionality record type and drops their