You might want to make any restrictions on the kind of `impl` explicit. (Why are kinds not encoded in types?)