We use partial classes a lot in the DSL Tools . We need them to help compose code that's generated from different places, and generated with handwritten code. If you're not familiar with it, a partial class definition is just a set of methods, properties