Hi all, The following works: (let ((x 1)) (cl-incf x nil)) … but following raises "setq: Wrong type argument: number-or-marker-p, nil": (let ((x 1) (y nil)) (cl-incf x y)) … yet the docs say this, which suggests that both should work: (cl-incf PLACE &optional X) Increment PLACE by X (1 by default). The issue comes from the expansion of cl-incf: (defmacro cl-incf (place &optional x) … (if (symbolp place) (list 'setq place (if x (list '+ place x) (list '1+ place))) (list 'cl-callf '+ place (or x 1)))) Shouldn't that `if x' check be quoted? Same for the second branch of the if (shouldn't the `(or x 1)' part be quoted, too?) cl-decf has the same issue. Am I missing something? Clément.