Neat elisp feature I learnt today: because closures are just lists, you can manually construct them and call them as functions: (mapcar '(closure (t) (x) (1+ x)) '(1 2 3)) ;; => '(2 3 4)