Were you thinking that x is a procedure and smart-curry-aux is a macro, and so the smart-curry-aux transformer would get the procedure object? I wonder how portable that is...? It is interesting.
Basically, but I dont think you need the proc inside the macro, just the arity.
I am trying to write a proof of concept quick :)