Гвидо пишет...
Вопрос: почему в typing питона нет рекурсивных типов
Ответ: 'IIRC Brett and I tried and failed to come up with a recursive definition that worked in mypy'
и далее:
In my own code I use this:
JsonDict = Dict[str, Any]
which happens to cover perfectly what I'm doing
(C)
https://github.com/python/typing/issues/182