Unused polymorphism example
class MyInteger { int value; … }
class Link { Object element; Link next; … }
class List { Link header; … }
List myList = new List();
myList.add(new MyInteger(i));
Desired invariant in class List
header.closure(next).element.value: sorted by ?