型と型が等しいかどうかを判定する
code:ts
type Equals<T, U> = T extends U ? U extends T ? true : false : false // examples
type E1 = Equals<number, string> // false
type E2 = Equals<number, number> // true
type E3 = Equals<number, number | string> // false
type E4 = Equals<number | string, number> // false
type E5 = Equals<number | string, number | string> // true