
FWIW, the spelling `TypeForm[str]` is currently in proposal to mean "exactly the str type", although it's more commonly expected to be used in the form `TypeForm[T]` (where T is a TypeVar). [1] [1]: https://github.com/python/mypy/issues/9773 "A compile/static-time constant string expression"† is called a "Constant Expression" in Java [2]. So perhaps ConstantStr would be a reasonable spelling? † i.e. something like the atom ("SELECT * from users") or the expression ("I'm " + "a " + "teapot!") [2]: https://docs.oracle.com/javase/specs/jls/se17/html/jls-15.html#jls-15.29 Of the alternative spellings for `Literal[str]` intended to mean "a compile/static-time constant string expression" that have been mentioned... I like: * Associations with "constant string" or "statically-computed string": - ConstantStr or ConstantString - StaticStr or StaticString * Literal-related terms with sufficient distinctness: - LiteralOf[str] - I like this better than LiteralFrom[str] because is shorter - LiteralFrom[str] I dislike: * Misleadingly suggests "exactly the value (str)": - Literal[str] / LiteralStr or LiteralString * Insufficiently distinct from Literal[] - LiteralOnly[str] / LiteralOnlyStr or LiteralOnlyString * Insufficiently distinct from Any[] - AnyLiteral[str] / AnyLiteralStr or AnyLiteralString * Too indirect - AllLiterals[str] / AllLiteralsStr or AllLiteralsString * Too wordy - LiteralComposed[str] / LiteralComposedStr or LiteralComposedString - LiteralConstituents[str] / LiteralConstituentsStr or LiteralConstituentsString - LiteralDerived[str] / LiteralDerivedStr or LiteralDerivedString - MadeFromLiterals[str] / MadeFromLiteralStr or MadeFromLiteralString - LiteralOfType[str] * Reserving the broad term "safe" for a specific use - SafeStr or SafeString Cheers, -- David Foster | Seattle, WA, USA Contributor to TypedDict support for mypy