program SchemaDemo;
type
  PositiveInteger = (* 1 .. MaxInt *) Integer;
  RealArray (n : Integer) = array [1 .. n] of Real;
  Matrix (n, m : PositiveInteger) = array [1 .. n, 1 .. m] of Integer;

var
  Foo : RealArray (42);

begin
  Writeln (Foo.n) { yields 42 }
end.
