var a : +Type
free type List a ::= Nil | Cons(myhead : a; List a)