What framework are you using? I've investigated Dart, Flow and TypeScript to improve static checking but I'm still having pain points: they work fine when dealing with your own self-contained code but integrating with third party libraries isn't always straightforward.