A type-safe dialect of TypeScript