public static IEnumerable<TypeDefinition> AllNestedTypes(this TypeDefinition type) { yield return type; foreach (TypeDefinition nested in type.NestedTypes) foreach (TypeDefinition moarNested in AllNestedTypes(nested)) yield return moarNested; }