## Код:
```
MODULE GListMod;

TYPE
  GList<X:PIDisplayable> =
    EXTENSIBLE RECORD (ANYREC + IDisplayable)
    head: X;
    tail: PGList<X>;
  END;
  PGList<X:PIDisplayable> =
    POINTER TO GList<X:PIDisplayable>;
  (* ... *)

VAR
  list: PGList<PInteger>;
  helper: PHelper;
  head: PInteger;
  (* ... *)

BEGIN
  (* ... *)
  list.head := helper.NewPInteger(5);
  list.Insert(helper.NewPInteger(10));
  (* ... *)
  head := list.Head();
  util.WriteInt(head.val);
END ListMod.
```


Оно-то красиво, да вот узнать бы, какова у них в системе времени исполнения идеология местонахождения параметризованных классов?
Они так же множат одинаковые инстанции по разным модулям, или таки оптимизируют этот процесс и только по-одному на систему хранят? Если да - каков механизм "учёта, контроля и слежения"?