* it doesn't track the state of the variable. If I get a value thats Optional[int] there is no way to say 'if a is not None:' it will still complain that the variable could be none
* even with the mypy experimental TypedDict they're basically unusable IMO
* there is no 'keyof'
* there is no way to constrain to specific strings (or other primitives). I don't understand what literals are supposed to be but they aren't useful for usComing from typescript it's been very lackluster.