Declare opaque- and distinct-type variables
Opaque-type variables hold data retrieved from opaque data types. Distinct-type variables hold data retrieved from distinct data types. If you define a variable with an opaque data type or a distinct data type, the variable can only hold data of that type.
If you define an opaque data type
named point and a distinct data type named centerpoint,
you can define SPL variables to hold data from the two types, as the
following figure shows.
The variable a can only hold data of type point, and b can only hold data of type centerpoint.