(defun foo (x)
  (macrolet ((prog2 (x y &rest rest) `(princ x)))
    (prog2 1 2 x)))

(defun bar (x)
  (macrolet ((prog1 (x y &rest rest) `(princ x)))
    (prog2 1 2 x)))

(defun baz (x)
  (macrolet ((progn (x y &rest rest) `(princ x)))
    (prog2 1 2 x)))