I'm a bit confused now. It's your intention to create (worst case) 2^n permutations of the same function for each potential ref parameter (which would be the same behaviour as 'auto ref') or that the compiler could pass big structs by ref without code bloat?