Maybe it is easier to see if you write it using normal method call notation instead of infix operator notation: if (h1<h2) listMergeSort(t1,l2).::(h1) else listMergeSort(l1,t2).::(h2). Here it is obvious that we call the :: method after the recursive call.
– Jörg W MittagJul 24 '16 at 0:51