Allow "Input Material Attributes" in Materials

OK that helps, I’ve misunderstood the purpose of the Input Material Attributes node.

What I’m looking for is still the same, but by a different name - a Material Attributes param, so that I can just pass one material instance to the params of another material instance (or material layer), the same way as I can pass a material instance to the Landscape Material param of a landscape.

Say I have a complex material, with a bunch of logic that transforms the texture maps, and I want to add macro variation to it.
I could duplicate the code and add in the macro-variation logic (DRY)
I could add the macro-variation logic to the existing material behind a flag (SRP)
I could add a layers node to the existing material, and put the macro-variation in a layer (which I’m trying to do now, but it has a code smell).

I don’t see a clean and simple way to apply a transformation to a material instance to get a new material instance.

talking about this is helping by crystalizing what it is that I actually want, but I’m still struggling to achieve it.