purescript A small strongly, statically typed compile-to-JS language with basic extensible records and type-safe blocks