Introduction Then how about constructing functions? structures with constructors are often used, e.g. append(x,y) = case x of nil -> y Cons[x1,xs] -> Cons[x1,append(xs,y)] constructors do not have associativity eg. Cons[x1,Cons[x2,x3]] != Cons[Cons[x1,x2],x3]