GenericList: obj
Point:
in X: var integer
in Y: var integer
print:
List:
item:<
next: ref item
head: ref item
insert:<
R: ref item
remove:<
in index: var integer
R: ref item
integerList: obj List
item::
X: var integer
insert::
in i: var integer
remove::
out result: var integer
PointList: obj List
item::
X: ref Point
insert::
in p: ref Point
remove::
out result: ref Point