// type a = Equal<'a' | 'a'>
type Equal<T, K> = K extends T ? true : false;
type Includes<T extends any[], K> = T extends [infer first, ...infer Rest]
? Equal<first, K> extends true
? true
: Includes<Rest, K>
: false;
type isPillarMen = Includes<['Kars', 'Esidisi', 'Wamuu', 'Santana'], 'Kars'>; // expected to be `false`