K extends ${infer _}
を使うtstype isStringLiteral<T> = T extends `${infer _}` ? true : false;
type A1 = isStringLiteral<'foo'>; // true
type A2 = isStringLiteral<2>; // false
type A3 = isStringLiteral<string>; // false
type A4 = isStringLiteral<number>; // false
type A5 = isStringLiteral<[s: string]>; // false