Function prototype validation continued.

Such validation now largely handles type validation for both optional and
variadic arguments in a reasonably elegant and efficient manner. With all luck,
such handling will generalize just as elegantly to argument localization.