The lisp macro -> is more powerful than function composition. For example, this is legitimate elisp: (-> 100 (goto-char) (save-excursion))
miniblog.
Related Posts
I was slightly shocked when a Common Lisper first pointed out to me that macros are syntactic. For example, threading macros aren't limited to function composition.
(->> "UTC"
(current-time-string (current-time))
(lambda ()))
This elisp is building a closure!
ML's module system has a notion of composition and even types! https://jozefg.bitbucket.io/posts/2015-01-08-modules.html