Template literal types
Template literal types build on string literal
types, and have the ability to expand into many
strings via unions.
When a union is used in the interpolated
position, the type is the set of every possible
string literal that could be represented by each
union member:
type EmailLocaleIDs = "welcome_email" | "email_heading";
type FooterLocaleIDs = "footer_title" | "footer_sendoff";
type AllLocaleIDs = `${EmailLocaleIDs | FooterLocaleIDs}_id`;