the functions to unpack a +/- b into constituent components. Jay Bellinger recommended something akin to: (defun calcFunc-remsdev (a) [remove standard deviation] (interactive) (cond ((and (consp a) (eq (car a) 'sdev)) (nth 1 a)) ((and (consp a) (eq (car a) 'vec)) (cons 'vec (mapcar 'calcFunc-remsdev (cdr a)))) (t a))) (defun calc-remsdev (arg) [get standard deviation] (interactive "P") (calc-slow-wrapper (calc-unary-op "rsd" 'calcFunc-remsdev arg))) (defun calcFunc-getsdev (a) (interactive) (cond ((and (consp a) (eq (car a) 'sdev)) (nth 2 a)) ((and (consp a) (eq (car a) 'vec)) (cons 'vec (mapcar 'calcFunc-getsdev (cdr a)))) (t a))) (defun calc-getsdev (arg) (interactive "P") (calc-slow-wrapper (calc-unary-op "gsd" 'calcFunc-getsdev arg))) But if there is already something else out there, or if you have a better idea, I’d take that instead. Thanks Bart