An undiscriminated schema is a schema type that has not been provided actual discriminants. You can use an undiscriminated schema as the domain type of a pointer or as the type of a formal parameter. For example: TYPE Ptr_to_Array_Template = ^Array_Template; Array_Template( Upper_Bound : INTEGER ) The Array_Template schema is not a complete description of data. It is not a valid data type until you provide an actual discriminant that designates the upper boundary of the array template.