Introduction

Programming languages are complicated.

They are full of compromises, and TypeScript makes no exception.

TypeScript inherits from JavaScript, which has been around for more than 25 years!

It got some things right, such as its syntax and its type system, but other things are poorly designed, such as error handling, null, and async.

Shulk aims to solve these things as best as a library can.

In addition to that, Shulk pledges to never introduce any compatibility break. Too many JS libraries don’t think twice about changing interfaces between major releases. Updating Shulk shall always be painless.

If you want to use Shulk to make your logic safer, proceed to the next step and get started!