(def rpn-eval (lst) (let stack nil (each c lst (if (isa c 'fn) (withs (snd (pop stack) fst (pop stack)) (push (c fst snd) stack)) (push c stack) )) (pop stack)))