To reproduce, evaluate this: (defmacro kek (&rest more-cases) `(pcase it (`foo 1) ,@more-cases)) (defun lol (x) (--each x (kek)) (--each x (kek (`baz 3)))) Observe that there is "pcase-memoize: equal first branch, yet different" gibberish in *Messages* buffer. Attached patch comments out this debug output.