Fix #16287 by checking for more unsaturated synonym arguments
Trac #16287 (closed) shows that we were checking for unsaturated type synonym
arguments (in :kind
) when the argument was to a type synonym, but
not when the argument was to some other form of type constructor,
such as a data type. The solution is to use the machinery that
rejects unsaturated type synonym arguments (previously confined to
check_syn_tc_app
) to check_arg_type
, which checks these other
forms of arguments. While I was in town, I cleaned up
check_syn_tc_app
a bit to only invoke check_arg_type
so as to
minimize the number of different code paths that that function could
go down.