It will get too messy to deal with constant initializers any other way, so just deal with complexity in argument_decl instead ...
Handles argument_decl() correctly.
MSL does not support this, so we have to emulate it by passing it around as a varying between stages. We use a special "user(clipN)" attribute for this rather than locN which is used for user varyings.