A work in progress documentation of how the TypeScript compiler works