public Compile()
{
Add(new UnfoldConstants());
Add(new OptimizeIterationStatements());
Add(new BranchChecking());
Add(new CheckIdentifiers());
Add(new StricterErrorChecking());
Add(new CheckAttributesUsage());
Add(new ExpandDuckTypedExpressions());
Add(new ProcessAssignmentsToValueTypeMembers());
Add(new ExpandProperties());
Add(new RemoveDeadCode());
Add(new CheckMembersProtectionLevel());
Add(new NormalizeIterationStatements());
Add(new ProcessSharedLocals());
Add(new ProcessClosures());
Add(new ProcessGenerators());
Add(new ExpandVarArgsMethodInvocations());
Add(new InjectCallableConversions());
Add(new ImplementICallableOnCallableDefinitions());
Add(new CheckNeverUsedMembers());
// TODO:
//Add(new InjectCastsAndConversions());
}