core: use synthesis when checking the kinds of quantified types