Пишу вот я код на F# и приходится мне помнить порядок вычисления, когда он не важен мне совершенно, поэтому беру я и указываю явно, чтобы другие не утруждались, кто код мой будет потом читать, смотрю, а получается как на лиспе. Вот пример, когда скобки удобнее, помнить надо меньше.
        (stage1 
            @ (free |> List.map (fun l -> l, [l]))) //причинное место
        |> List.groupBy 
            (fun (mline1, lines1) (mline2, lines2) ->
                Math.Abs(mline1.x-mline2.x) < 0.1 
                && Math.Abs(mline1.y-mline2.y) < 0.1)
       (List.groupBy 
	(lambda (mline1 lines1 mline2 lines2)
	  (and (< (Math.Abs (- mline1.x mline2.x) 0.1))
	       (< (Math.Abs (- mline1.y mline2.y) 0.1))))
	(@ stage1 
	   (List.map (lambda (l) (list l (list l))) 
		     free)))))







