Prevalent use of these macros in clojure code is admission to the following facts,
1. Lisp code is hard to read.
2. Lisp based languages do not have "small syntax".
1. Lisp code is hard to read.
2. Lisp based languages do not have "small syntax".
f x |> Seq.map g |> Seq.filter h |> Seq.groupBy (fun x -> x.Name)
Is just more explicit and obvious than Seq.groupBy (fun x -> x.Name) (Seq.filter h (Seq.map g (f x)))(one Lisp code is hard to read for people who don't read lisp code.)
(two Lisp based languages have tree-like structures with a simple syntax)
clojure programmers don't know how to read lisp code.