Por que as duas mônadas de Clojure `let 'e` for`?

Nesta discussão Brian Marick afirma quelet efor são mônadas em Clojure:

Dito isto, orealmente mônadas de uso geral tendem a ser escritas no idioma como formas especiais. Clojure'slet efor são mônadas, mas você não precisa saber disso para usá-las.

Isto élet

user=> (let [c (+ 1 2)
         [d e] [5 6]]
     (-> (+ d e) (- c)))
8

Isto éfor

user=> (for [x [0 1 2 3 4 5]
             :let [y (* x 3)]
             :when (even? y)]
         y)
(0 6 12)

Minha pergunta é:Por que os Clojure'slet efor ambas as mônadas?

questionAnswers(3)

yourAnswerToTheQuestion