parameterized type constraints should sanity-check their parameters