function append<e>(a:list<e>,b:list<e>):list<e>= if a=nil then b else let var x:e:=a.head var y:list<e>:=a.tail in list<e>{head=x,tail=append<e>(y,b)} end