Plaster

common-lisp
(defmacro nest (&rest args) `',(car (reduce (lambda (&optional a b) (list (append (uiop:ensure-list a) (uiop:ensure-list b)))) args :from-end t))) (nest (foo 1 2) (bar 3) 4) ; => (foo 1 2 (bar 3 4))