There are three main ideas in this talk:
- Use all the power of static analysis: never use optional fields and type any
- Use a mix of runtime and static analysis using JSONschema validation
- Use runtime checks when static analysis falls short, for instance using ES6 Proxies