expressions: Improve "type mismatch" error messages from expression parser.
Before this commit, type mismatches invoking functions in expressions would
yield confusing error messages due to missing type names, e.g.:
Type mismatch invoking MISSING(number) as missing(string).
This commit fills in the missing type names:
Type mismatch invoking MISSING(number) as missing().
An upcoming commit will start checking error messages as part of the tests
for expressions, which should ensure that the problem does not recur.