
I realize there are different philosophies to language design, but I generally value consistency and explicitness over brevity in most cases. Every time a new inconsistency is introduced into a language, it begets more inconsistencies and exceptions. It also complicates the mental model for users of the language because they need to remember different rules and exceptions for different contexts. Python is already full of such inconsistencies, and I see Python developers trip on them every day. Today, type annotations associated with parameters are optional in a `def` statement and, if provided, always appear after a `:` token. If a `:` is not present, then it means that there is no type annotation for that parameter. Those are the syntactic and semantic rules Python developers are used to. Deviating from this to save a few extra characters doesn't strike me as a good tradeoff. For that reason, I would advise against using "naked" types without a parameter identifier and without a `:` token. I think TypeScript got it right here. -Eric ---- Eric Traut Contributor to Pyright & Pylance Microsoft Corp.