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