Agreed that it started in cl-generic.el,
commit 3c972723e44c9428ea990562033acfbd84ed29d9
Author: Stefan Monnier <
monnier@iro.umontreal.ca>
Date: 2021-10-01 14:33:37 -0400
* lisp/emacs-lisp/subr-x.el (with-memoization): New macro
Extracted from `cl-generic.el`.
* lisp/emacs-lisp/cl-generic.el (cl--generic-get-dispatcher)
(cl--generic-build-combined-method, cl-generic-generalizers): Use it.
(cl--generic-with-memoization): Delete.
but, why is `with-memoization' still documented in the Modifying Macros section of the CL-Lib manual? It seems weirdly out of place.