@Kevin Kho One of the most painful thing about writing Airflow DAGs for me has been the difficulty in running code locally since the role of an orchestrator is really to, well, orchestrate services, microservices, and jobs: it's often too difficult especially in large enterprises to mock-out the entire deployment environment locally to test.
as such, since it's hard to run the code locally, it's been a long-time desire of mine to have robust static type information on the programming APIs for writing orchestration tasks, because then at least the static type analysis, which doesn't require actually running the code, can give you some feedback regarding whether your code actually uses the APIs correctly and is structured in a logically consistent fashion.