Hindley Milner Definitions — Runtime Type Checking for JS | Open Awesome