2.5.7 Custom Input Type Definitions
This section specifies custom input types. Custom input types are used to specify the token types for function arguments. Functions that require a particular class of token inputs, and thus require a conversion from many possible source token types, declare arguments with custom input types and rely on the custom input type to derive a valid input argument from a source token. The definition of each custom input type specifies how the source token is derived, the computed properties of the custom input type and under which cases the input argument is invalid.