/* algebraic data structures disadvantage: no destructive changes. */ import list.*; class list { case nil; case cons(T head, list tail); public String toString() { switch (this) { case nil : return "\n"; case cons(T head, list tail) : return head+" "+tail.toString(); } } // toString(); } public class thincrust { public static void main(String[] args) { list l = cons(2,cons(4,cons(6,nil))); System.out.print(l); } }