Hi, I still don't think, as commented upon by Tom and me upthread, that we want this feature in the current form.
Your arguments about layering violations seem to be counteracted by the fact that ProjectionIsNotChanged() basically appears to do purely executor work inside inside heapam.c. Greetings, Andres Freund