Expressive static type and invariant checks for JavaScript. It is similar to TypeScript, but: Has very precise types such as the type of hex-encoded strings with an even number of characters (i.e., new Buffer()'s input), and can statically check all of them; Has invariants such as for any user and any item, purchase(user,item).balance >= 0, so that, if you forget to check the balance in your purch