On 15 Jul 2009, at 12:25, Eugene Kirpichov wrote: > If ++ could be pattern matched, what should have been the result of > "let (x++y)=[1,2,3] in (x,y)"? It will branch. In terms of unification, you get a list of substitutions. Hans