AST implementation relying on ctor instead of FormatterServices.GetUninitializedObject