The type constrains the definition. Look at the definition, there is ONLY one possible definition when converting this:
Dict[str, T] -> Dict[str, Callable[[], T]]
Literally. Try to think of another way to define the lambda, you can't. The more open the type the more constrained the definition the more constrained the type the more open the definition.> I specifically talked about arbitrary tuples. Your function only handles specific tuples.
I remarked on this in other replies. How will you define the return value of the concat and have it exactly type correct? It's not possible bro. You can't do much with tuples of arbitrary types. Not unless you have dependent types.
>The type system is a core feature of Python. Until it supports what I want, I can't really use what I want with Python.
Type checking in python is an external application. The interpreter doesn't do any type check. Type checking is achieved by running another program. All kinds of additional features and custom interpretations on types can be inserted into these type checkers.