'args' are being matched to function 'this' Determine match level.
Return true if there are lazy parameters.
Check for extern (D) U func(T t, ...) variadic function type, which has _arguments[] added as the first argument.
Examine function signature for parameter p and see if the value of p can 'escape' the scope of the function. This is useful to minimize the needed annotations for the parameters.
Take the specified storage class for p, and use the function signature to infer whether STC.scope_ and STC.return_ should be OR'd in. (This will not affect the name mangling.)
Set 'purity' field of 'this'. Do this lazily, as the parameter types might be forward referenced.
For TypeFunction, nextOf() can return NULL if the function return type is meant to be inferred, and semantic() hasn't yet ben run on the function. After semantic(), it must no longer be NULL.