Under `strictFunctionTypes`, why is the assignment of `Comparator<number>` to `Comparator<unknown>` accepted, even though it lets a comparator written for numbers receive `unknown` values?
interface Comparator<T> { compare(a: T, b: T): number; }
const cn: Comparator<number> =
{ compare: (a, b) => a - b };
const ca: Comparator<unknown> = cn;