Make error messages better for function types with bad filters.

Also makes it so filters are not parsed as keyword types.

Closes PR 14492.
Closes PR 14520.