Turned on strict and noImplicitAny in TypeScript, then fixed all of the issues.
One thing that may be noticeable is there are now a good number of runtime assertions of incoming types. If this causes you an error that you think could be more gracefully handled, please file an issue as soon as possible.