Understand how to read TypeScript type definition
An explaination of the things I didn't understand about Pratt parsing