Here's mine: (fn (m) ([_ _] (fn (y) (m [(y y) _]))))
(( (fn (m) ([_ _] (fn (y) (m [(y y) _])))) (fn (fac) (fn (n) (if (is n 0) 1 (* n (fac (- n 1))))))) 5) ;=> 120
-----