How TypeScript works under the hood