This talk will explain what private class elements are and how they behave, as well as look at some of the more interesting cases of their behaviour. We’ll cover the process of contributing a major feature to the TypeScript compiler, explaining the separate areas of the compiler that needed to be changed, the challenges we faced, and the bugs we discovered along the way.