From db942dc06c757193f54890102356defea57ad41f Mon Sep 17 00:00:00 2001
From: Dimitar Dobrev <dpldobrev@protonmail.com>
Date: Tue, 11 Oct 2016 18:21:44 +0300
Subject: [PATCH] Wrapped the reference qualifier of functions.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
---
 src/AST/Method.cs                             |    9 +
 src/CppParser/AST.cpp                         |    1 +
 src/CppParser/AST.h                           |    8 +
 src/CppParser/Bindings/CLI/AST.cpp            |   10 +
 src/CppParser/Bindings/CLI/AST.h              |   14 +
 .../CppSharp.CppParser.cs                     | 3911 +++++++++--------
 .../CSharp/i686-apple-darwin12.4.0/Std.cs     |  756 ++--
 .../i686-pc-win32-msvc/CppSharp.CppParser.cs  | 3911 +++++++++--------
 .../Bindings/CSharp/i686-pc-win32-msvc/Std.cs |  738 ++--
 .../CppSharp.CppParser.cs                     | 3911 +++++++++--------
 .../CSharp/x86_64-apple-darwin12.4.0/Std.cs   |  756 ++--
 .../CppSharp.CppParser.cs                     | 3911 +++++++++--------
 .../CSharp/x86_64-linux-gnu-cxx11abi/Std.cs   |  503 ++-
 .../x86_64-linux-gnu/CppSharp.CppParser.cs    | 3911 +++++++++--------
 .../Bindings/CSharp/x86_64-linux-gnu/Std.cs   |  509 ++-
 .../CppSharp.CppParser.cs                     | 3911 +++++++++--------
 .../CSharp/x86_64-pc-win32-msvc/Std.cs        |  760 ++--
 src/CppParser/Parser.cpp                      |   12 +
 src/Parser/ASTConverter.cs                    |   13 +
 19 files changed, 14127 insertions(+), 13428 deletions(-)

diff --git a/src/AST/Method.cs b/src/AST/Method.cs
index d4ff9385..0b4a0f49 100644
--- a/src/AST/Method.cs
+++ b/src/AST/Method.cs
@@ -69,6 +69,13 @@ namespace CppSharp.AST
         ExplicitConversion
     }
 
+    public enum RefQualifier
+    {
+        None,
+        LValue,
+        RValue
+    }
+
     /// <summary>
     /// Represents a C++ record method declaration.
     /// </summary>
@@ -110,6 +117,8 @@ namespace CppSharp.AST
         public bool IsOverride { get; set; }
         public bool IsProxy { get; set; }
 
+        public RefQualifier RefQualifier { get; set; }
+
         private CXXMethodKind kind;
         public CXXMethodKind Kind
         {
diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp
index 73f05111..7f29d7c9 100644
--- a/src/CppParser/AST.cpp
+++ b/src/CppParser/AST.cpp
@@ -646,6 +646,7 @@ Method::Method()
     , IsDefaultConstructor(false)
     , IsCopyConstructor(false)
     , IsMoveConstructor(false)
+    , RefQualifier(RefQualifierKind::None)
 { 
     Kind = DeclarationKind::Method; 
 }
diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h
index 57be4bf6..d8799c86 100644
--- a/src/CppParser/AST.h
+++ b/src/CppParser/AST.h
@@ -714,6 +714,13 @@ public:
 
 class AccessSpecifierDecl;
 
+enum class RefQualifierKind
+{
+    None,
+    LValue,
+    RValue
+};
+
 class CS_API Method : public Function
 {
 public:
@@ -733,6 +740,7 @@ public:
     bool IsMoveConstructor;
 
     QualifiedType ConversionType;
+    RefQualifierKind RefQualifier;
 };
 
 class CS_API Enumeration : public DeclarationContext
diff --git a/src/CppParser/Bindings/CLI/AST.cpp b/src/CppParser/Bindings/CLI/AST.cpp
index 04ee30a7..60031402 100644
--- a/src/CppParser/Bindings/CLI/AST.cpp
+++ b/src/CppParser/Bindings/CLI/AST.cpp
@@ -3215,6 +3215,16 @@ void CppSharp::Parser::AST::Method::ConversionType::set(CppSharp::Parser::AST::Q
     ((::CppSharp::CppParser::AST::Method*)NativePtr)->ConversionType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr;
 }
 
+CppSharp::Parser::AST::RefQualifierKind CppSharp::Parser::AST::Method::RefQualifier::get()
+{
+    return (CppSharp::Parser::AST::RefQualifierKind)((::CppSharp::CppParser::AST::Method*)NativePtr)->RefQualifier;
+}
+
+void CppSharp::Parser::AST::Method::RefQualifier::set(CppSharp::Parser::AST::RefQualifierKind value)
+{
+    ((::CppSharp::CppParser::AST::Method*)NativePtr)->RefQualifier = (::CppSharp::CppParser::AST::RefQualifierKind)value;
+}
+
 CppSharp::Parser::AST::Enumeration::Item::Item(::CppSharp::CppParser::AST::Enumeration::Item* native)
     : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native)
 {
diff --git a/src/CppParser/Bindings/CLI/AST.h b/src/CppParser/Bindings/CLI/AST.h
index 6aa5a970..7b87f2cf 100644
--- a/src/CppParser/Bindings/CLI/AST.h
+++ b/src/CppParser/Bindings/CLI/AST.h
@@ -21,6 +21,7 @@ namespace CppSharp
             enum struct MacroLocation;
             enum struct PrimitiveType;
             enum struct RawCommentKind;
+            enum struct RefQualifierKind;
             enum struct StatementClass;
             enum struct TemplateSpecializationKind;
             enum struct TypeKind;
@@ -315,6 +316,13 @@ namespace CppSharp
                 UsingDirective = 5
             };
 
+            public enum struct RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            };
+
             public enum struct CppAbi
             {
                 Itanium = 0,
@@ -1975,6 +1983,12 @@ namespace CppSharp
                     CppSharp::Parser::AST::QualifiedType^ get();
                     void set(CppSharp::Parser::AST::QualifiedType^);
                 }
+
+                property CppSharp::Parser::AST::RefQualifierKind RefQualifier
+                {
+                    CppSharp::Parser::AST::RefQualifierKind get();
+                    void set(CppSharp::Parser::AST::RefQualifierKind);
+                }
             };
 
             public ref class Enumeration : CppSharp::Parser::AST::DeclarationContext
diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
index 0e272ba6..0627495a 100644
--- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(4)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(20)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(12)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(20)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(20)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(16)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(16)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.vector.Internal Components;
+                    internal global::std.__1.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,15 +3216,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.Internal();
-                    Internal.getComponents_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal();
+                    __Internal.getComponents_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3226,19 +3233,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3247,7 +3254,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3259,7 +3266,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3290,19 +3297,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3321,7 +3328,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3332,7 +3339,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3345,7 +3352,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3354,12 +3361,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3367,12 +3374,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3380,12 +3387,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3393,12 +3400,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3406,16 +3413,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(4)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr FieldPtr;
@@ -3459,19 +3466,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3490,7 +3497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3501,7 +3508,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3514,7 +3521,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3523,14 +3530,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3538,12 +3545,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3551,12 +3558,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3564,12 +3571,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3577,7 +3584,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3614,19 +3621,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3645,7 +3652,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3656,7 +3663,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3669,7 +3676,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3678,12 +3685,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3692,16 +3699,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3709,16 +3716,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(4)]
-                    internal global::std.__1.vector.Internal VFTables;
+                    internal global::std.__1.vector.__Internal VFTables;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(28)]
                     public byte HasOwnVFPtr;
@@ -3736,10 +3743,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(48)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(60)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3830,19 +3837,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3861,7 +3868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(72);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3872,7 +3879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3885,15 +3892,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3902,18 +3909,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3922,18 +3929,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3942,19 +3949,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3963,7 +3970,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3972,7 +3979,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3981,12 +3988,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3994,12 +4001,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4007,12 +4014,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4020,12 +4027,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4033,12 +4040,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4046,12 +4053,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4059,12 +4066,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4072,7 +4079,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 92)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4084,7 +4091,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -4093,13 +4100,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -4117,7 +4124,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -4204,19 +4211,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(92);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4236,7 +4243,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4247,7 +4254,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4260,14 +4267,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4281,26 +4288,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4308,14 +4315,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4323,14 +4330,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4338,7 +4345,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4347,12 +4354,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4360,12 +4367,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4374,16 +4381,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4391,12 +4398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4404,12 +4411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4417,12 +4424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4430,12 +4437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4443,12 +4450,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4456,12 +4463,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4470,16 +4477,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4487,12 +4494,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4500,12 +4507,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4514,16 +4521,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4531,7 +4538,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 216)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4543,7 +4550,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -4552,13 +4559,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -4576,7 +4583,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -4585,34 +4592,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
@@ -4818,19 +4825,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(216);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4853,7 +4860,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4865,7 +4872,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4873,14 +4880,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4894,17 +4901,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4918,17 +4925,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4942,17 +4949,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4966,17 +4973,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4990,17 +4997,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5014,17 +5021,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5038,17 +5045,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5062,17 +5069,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5086,19 +5093,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5107,7 +5114,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5116,7 +5123,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5125,7 +5132,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5134,7 +5141,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5143,7 +5150,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5152,7 +5159,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5161,7 +5168,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5170,7 +5177,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5179,12 +5186,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5192,7 +5199,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 100)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5204,7 +5211,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5213,13 +5220,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -5237,7 +5244,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -5246,7 +5253,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5269,19 +5276,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(100);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5304,7 +5311,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5316,7 +5323,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5324,7 +5331,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5333,12 +5340,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5346,7 +5353,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 100)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5358,7 +5365,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5367,13 +5374,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -5391,7 +5398,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -5400,7 +5407,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5423,19 +5430,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(100);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5457,7 +5464,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(100);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5469,7 +5476,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5477,7 +5484,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5486,7 +5493,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 104)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5498,7 +5505,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5507,13 +5514,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -5531,7 +5538,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -5540,7 +5547,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(100)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5566,19 +5573,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(104);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5600,7 +5607,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(104);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5612,7 +5619,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5620,7 +5627,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5630,16 +5637,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5647,7 +5654,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5659,7 +5666,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5668,13 +5675,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -5692,7 +5699,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -5724,19 +5731,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5758,7 +5765,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(96);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5770,7 +5777,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5778,7 +5785,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5788,16 +5795,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5805,7 +5812,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5814,7 +5821,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5850,19 +5857,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5884,7 +5891,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5897,7 +5904,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5906,14 +5913,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5921,12 +5928,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5935,16 +5942,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5952,7 +5959,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5961,7 +5968,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5979,19 +5986,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6016,7 +6023,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6024,7 +6031,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6033,7 +6040,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6042,7 +6049,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(20)]
                     public global::System.IntPtr LHS;
@@ -6051,7 +6058,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(28)]
-                    public global::std.__1.basic_string.Internal OpcodeStr;
+                    public global::std.__1.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6079,19 +6086,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6116,7 +6123,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6124,7 +6131,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6133,14 +6140,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6149,16 +6156,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6167,16 +6174,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6184,7 +6191,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6193,10 +6200,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(20)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6234,19 +6241,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6271,7 +6278,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6279,14 +6286,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6300,19 +6307,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6321,7 +6328,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6330,10 +6337,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(20)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6371,19 +6378,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6408,7 +6415,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6416,14 +6423,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6437,19 +6444,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6458,7 +6465,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6470,7 +6477,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -6479,13 +6486,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -6503,7 +6510,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -6512,7 +6519,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(100)]
                     public byte IsIndirect;
@@ -6547,19 +6554,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6581,7 +6588,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(112);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6593,7 +6600,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6601,7 +6608,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6610,12 +6617,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6623,12 +6630,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6636,12 +6643,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6649,12 +6656,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6663,16 +6670,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6680,7 +6687,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 160)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6692,7 +6699,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -6701,13 +6708,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -6725,7 +6732,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -6734,7 +6741,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(100)]
                     public byte IsReturnIndirect;
@@ -6758,16 +6765,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(112)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(124)]
-                    public global::std.__1.basic_string.Internal Signature;
+                    public global::std.__1.basic_string.__Internal Signature;
 
                     [FieldOffset(136)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6836,19 +6843,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(160);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6870,7 +6877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(160);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6882,7 +6889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6890,14 +6897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6911,26 +6918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6938,14 +6945,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6953,7 +6960,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6962,12 +6969,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6975,12 +6982,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6988,12 +6995,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7001,12 +7008,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7014,12 +7021,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7027,12 +7034,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7040,12 +7047,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7053,12 +7060,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7066,12 +7073,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7080,16 +7087,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7098,24 +7105,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 188)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7127,7 +7134,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7136,13 +7143,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -7160,7 +7167,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -7169,7 +7176,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(100)]
                     public byte IsReturnIndirect;
@@ -7193,16 +7200,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(112)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(124)]
-                    public global::std.__1.basic_string.Internal Signature;
+                    public global::std.__1.basic_string.__Internal Signature;
 
                     [FieldOffset(136)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7238,7 +7245,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(176)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(184)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7261,19 +7271,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(188);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7292,22 +7302,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(184);
+                    __Instance = Marshal.AllocHGlobal(188);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(184);
+                    __Instance = Marshal.AllocHGlobal(188);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7315,7 +7325,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7324,12 +7334,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7337,12 +7347,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7350,12 +7360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7363,12 +7373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7376,12 +7386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7389,12 +7399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7402,12 +7412,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7415,12 +7425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7428,12 +7438,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7441,12 +7451,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7454,7 +7477,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 240)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7466,7 +7489,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7475,13 +7498,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -7499,7 +7522,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -7508,34 +7531,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
@@ -7550,7 +7573,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(228)]
-                    internal global::std.__1.vector.Internal Items;
+                    internal global::std.__1.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7599,7 +7622,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 112)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7611,7 +7634,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(12)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(16)]
                         public int LineNumberStart;
@@ -7620,13 +7643,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(24)]
-                        public global::std.__1.basic_string.Internal Name;
+                        public global::std.__1.basic_string.__Internal Name;
 
                         [FieldOffset(36)]
-                        public global::std.__1.basic_string.Internal USR;
+                        public global::std.__1.basic_string.__Internal USR;
 
                         [FieldOffset(48)]
-                        public global::std.__1.basic_string.Internal DebugText;
+                        public global::std.__1.basic_string.__Internal DebugText;
 
                         [FieldOffset(60)]
                         public byte IsIncomplete;
@@ -7644,7 +7667,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(72)]
-                        internal global::std.__1.vector.Internal PreprocessedEntities;
+                        internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(84)]
                         public global::System.IntPtr OriginalPtr;
@@ -7653,7 +7676,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(92)]
-                        public global::std.__1.basic_string.Internal Expression;
+                        public global::std.__1.basic_string.__Internal Expression;
 
                         [FieldOffset(104)]
                         public ulong Value;
@@ -7689,19 +7712,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(112);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7723,7 +7746,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(112);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7735,7 +7758,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7743,7 +7766,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7752,14 +7775,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7767,12 +7790,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7782,19 +7805,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(240);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7816,7 +7839,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(240);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7828,7 +7851,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7836,14 +7859,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7857,19 +7880,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7878,12 +7901,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7892,16 +7915,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7910,16 +7933,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7927,7 +7950,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7939,7 +7962,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7948,13 +7971,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -7972,7 +7995,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -7981,10 +8004,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(104)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8017,19 +8040,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8051,7 +8074,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(112);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8063,7 +8086,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8071,7 +8094,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8080,14 +8103,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8095,12 +8118,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8108,7 +8131,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8146,19 +8169,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8177,7 +8200,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8185,7 +8208,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8205,12 +8228,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8218,12 +8241,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8232,16 +8255,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8249,12 +8272,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8262,7 +8285,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8274,7 +8297,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8283,13 +8306,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -8307,7 +8330,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -8316,7 +8339,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(100)]
                     public global::System.IntPtr Class;
@@ -8348,19 +8371,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8382,7 +8405,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(112);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8394,7 +8417,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8402,7 +8425,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8411,12 +8434,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8425,16 +8448,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8442,12 +8465,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8455,12 +8478,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8468,7 +8491,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 92)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8480,7 +8503,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8489,13 +8512,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -8513,7 +8536,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -8542,19 +8565,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(92);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8576,7 +8599,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(92);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8588,7 +8611,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8596,7 +8619,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8605,7 +8628,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 280)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8617,7 +8640,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8626,13 +8649,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -8650,7 +8673,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -8659,49 +8682,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(228)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(252)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(264)]
                     public byte IsPOD;
@@ -8834,19 +8857,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(280);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8868,7 +8891,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(280);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8880,7 +8903,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8888,14 +8911,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8909,17 +8932,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8933,17 +8956,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8957,17 +8980,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8981,19 +9004,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9002,7 +9025,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9011,7 +9034,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9020,7 +9043,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9029,12 +9052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9042,12 +9065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9055,12 +9078,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9068,12 +9091,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9081,12 +9104,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9094,12 +9117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9107,12 +9130,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9120,12 +9143,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9133,12 +9156,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9147,16 +9170,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9164,7 +9187,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 108)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9176,7 +9199,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9185,13 +9208,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -9209,7 +9232,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -9221,7 +9244,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9269,19 +9292,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(108);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9304,7 +9327,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9313,7 +9336,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(108);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9325,7 +9348,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9333,14 +9356,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9354,19 +9377,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9376,16 +9399,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9393,7 +9416,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 108)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9405,7 +9428,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9414,13 +9437,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -9438,7 +9461,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -9450,7 +9473,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9473,19 +9496,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(108);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9507,7 +9530,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(108);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9519,7 +9542,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9527,7 +9550,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9536,7 +9559,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 104)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9548,7 +9571,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9557,13 +9580,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -9581,7 +9604,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -9619,19 +9642,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(104);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9654,7 +9677,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9666,7 +9689,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9674,7 +9697,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9683,12 +9706,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9696,12 +9719,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9709,12 +9732,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9722,7 +9745,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9734,7 +9757,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9743,13 +9766,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -9767,7 +9790,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -9779,7 +9802,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(108)]
                     public byte IsParameterPack;
@@ -9811,19 +9834,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9845,7 +9868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(112);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9857,7 +9880,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9865,7 +9888,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9874,12 +9897,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9887,12 +9910,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9900,12 +9923,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9913,7 +9936,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 112)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9925,7 +9948,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9934,13 +9957,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -9958,7 +9981,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -9976,7 +9999,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(104)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9999,19 +10022,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(112);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10033,7 +10056,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(112);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10045,7 +10068,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10053,7 +10076,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10062,12 +10085,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10075,7 +10098,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 116)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10087,7 +10110,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10096,13 +10119,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -10120,7 +10143,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -10170,19 +10193,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(116);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10204,7 +10227,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(116);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10216,7 +10239,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10224,7 +10247,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10234,16 +10257,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10251,12 +10274,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10264,12 +10287,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10277,12 +10300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10290,7 +10313,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10302,7 +10325,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10311,13 +10334,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -10335,7 +10358,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -10347,10 +10370,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(108)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10393,19 +10416,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10427,7 +10450,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(120);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10439,7 +10462,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10447,14 +10470,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10468,19 +10491,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10489,7 +10512,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 300)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10501,7 +10524,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10510,13 +10533,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -10534,7 +10557,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -10543,49 +10566,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(228)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(252)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(264)]
                     public byte IsPOD;
@@ -10621,7 +10644,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(284)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(296)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10667,19 +10690,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(300);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10701,7 +10724,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(300);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10713,7 +10736,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10721,15 +10744,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10738,19 +10761,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10760,16 +10783,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10777,12 +10800,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10790,7 +10813,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 300)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10802,7 +10825,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10811,13 +10834,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -10835,7 +10858,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -10844,49 +10867,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(228)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(252)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(264)]
                     public byte IsPOD;
@@ -10922,7 +10945,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(284)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(296)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10948,19 +10971,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(300);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10982,7 +11005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(300);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10994,7 +11017,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11002,7 +11025,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11011,7 +11034,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11023,7 +11046,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11032,13 +11055,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -11056,7 +11079,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -11068,10 +11091,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(108)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11114,19 +11137,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11148,7 +11171,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(120);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11160,7 +11183,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11168,14 +11191,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11189,19 +11212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11210,13 +11233,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(4)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(16)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11273,19 +11296,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11304,7 +11327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11315,7 +11338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11328,15 +11351,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11345,19 +11368,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11367,16 +11390,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11385,16 +11408,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11402,12 +11425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11415,7 +11438,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11427,7 +11450,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11436,13 +11459,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -11460,7 +11483,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -11472,10 +11495,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(96)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(108)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11518,19 +11541,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11552,7 +11575,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(120);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11564,7 +11587,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11572,14 +11595,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11593,19 +11616,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11614,7 +11637,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 132)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11626,7 +11649,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11635,13 +11658,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -11659,7 +11682,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -11668,16 +11691,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(104)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(112)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(128)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11723,19 +11746,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(132);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11757,7 +11780,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(132);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11769,7 +11792,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11777,15 +11800,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11794,19 +11817,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11816,16 +11839,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11833,12 +11856,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11846,7 +11869,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 132)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11858,7 +11881,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11867,13 +11890,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -11891,7 +11914,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -11900,16 +11923,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(104)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(112)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(128)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11935,19 +11958,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(132);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11969,7 +11992,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(132);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11981,7 +12004,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11989,7 +12012,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11998,7 +12021,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 216)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12010,7 +12033,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -12019,13 +12042,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -12043,7 +12066,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -12052,34 +12075,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
@@ -12108,19 +12131,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(216);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12142,7 +12165,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(216);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12154,7 +12177,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12162,7 +12185,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12171,12 +12194,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12184,7 +12207,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12219,19 +12242,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12250,7 +12273,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12258,7 +12281,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12278,12 +12301,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12291,12 +12314,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12304,12 +12327,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12317,7 +12340,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 44)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12329,10 +12352,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(12)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Expression;
+                    public global::std.__1.basic_string.__Internal Expression;
 
                     [FieldOffset(36)]
                     public int LineNumberStart;
@@ -12381,19 +12404,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(44);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12415,7 +12438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(44);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12427,7 +12450,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12435,7 +12458,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12444,14 +12467,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12459,14 +12482,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12474,12 +12497,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12487,12 +12510,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12500,7 +12523,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12512,10 +12535,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(12)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [FieldOffset(36)]
                     public global::System.IntPtr Definition;
@@ -12561,19 +12584,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12595,7 +12618,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12607,7 +12630,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12615,7 +12638,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12624,14 +12647,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12639,14 +12662,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12655,16 +12678,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12672,7 +12695,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 244)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12684,7 +12707,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -12693,13 +12716,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(60)]
                     public byte IsIncomplete;
@@ -12717,7 +12740,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(72)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(84)]
                     public global::System.IntPtr OriginalPtr;
@@ -12726,34 +12749,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(92)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(104)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(116)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(140)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(152)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(164)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(188)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(212)]
                     public byte IsAnonymous;
@@ -12762,13 +12785,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(216)]
-                    public global::std.__1.basic_string.Internal FileName;
+                    public global::std.__1.basic_string.__Internal FileName;
 
                     [FieldOffset(228)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(232)]
-                    internal global::std.__1.vector.Internal Macros;
+                    internal global::std.__1.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12821,19 +12844,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(244);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12855,7 +12878,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(244);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12867,7 +12890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12875,14 +12898,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12896,26 +12919,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12923,7 +12946,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12932,12 +12955,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12945,19 +12968,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.__1.basic_string.Internal FileName;
+                    public global::std.__1.basic_string.__Internal FileName;
 
                     [FieldOffset(12)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Symbols;
+                    internal global::std.__1.vector.__Internal Symbols;
 
                     [FieldOffset(28)]
-                    internal global::std.__1.vector.Internal Dependencies;
+                    internal global::std.__1.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13038,19 +13061,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13069,7 +13092,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13080,7 +13103,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13093,57 +13116,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13151,7 +13174,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13160,7 +13183,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13169,12 +13192,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13182,10 +13205,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.vector.Internal TranslationUnits;
+                    internal global::std.__1.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13236,19 +13259,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13267,7 +13290,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13278,7 +13301,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13291,14 +13314,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13312,19 +13335,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13333,7 +13356,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13362,19 +13385,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13394,7 +13417,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13402,7 +13425,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13422,12 +13445,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13435,7 +13458,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13461,19 +13484,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13495,7 +13518,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13505,7 +13528,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13514,20 +13537,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(4)]
-                    internal global::std.__1.vector.Internal Blocks;
+                    internal global::std.__1.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13570,19 +13593,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13604,7 +13627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13616,7 +13639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13624,14 +13647,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13645,19 +13668,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13666,7 +13689,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13695,19 +13718,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13729,7 +13752,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13739,7 +13762,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13748,19 +13771,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13768,7 +13791,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13777,7 +13800,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Content;
+                    internal global::std.__1.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13820,19 +13843,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13854,7 +13877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13866,7 +13889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13874,14 +13897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13895,19 +13918,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13916,12 +13939,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13929,7 +13952,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13941,7 +13964,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13987,10 +14010,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 12)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Text;
+                        public global::std.__1.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14031,19 +14054,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(12);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14062,7 +14085,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(12);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14073,7 +14096,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14086,7 +14109,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14095,14 +14118,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14112,19 +14135,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14146,7 +14169,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14156,7 +14179,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14168,7 +14191,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14176,15 +14199,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14193,19 +14216,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14214,12 +14237,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14228,16 +14251,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14245,7 +14268,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14257,7 +14280,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14293,19 +14316,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14327,7 +14350,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14339,7 +14362,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14347,7 +14370,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14356,12 +14379,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14369,12 +14392,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14382,7 +14405,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14394,10 +14417,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    internal global::std.__1.vector.Internal Position;
+                    internal global::std.__1.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14440,19 +14463,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14474,7 +14497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(36);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14486,7 +14509,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14494,14 +14517,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14510,20 +14533,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14532,13 +14555,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14571,19 +14594,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14605,7 +14628,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14617,7 +14640,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14625,7 +14648,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14634,14 +14657,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14649,7 +14672,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14661,10 +14684,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    internal global::std.__1.vector.Internal Lines;
+                    internal global::std.__1.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14707,19 +14730,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14741,7 +14764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(36);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14753,7 +14776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14761,14 +14784,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14782,19 +14805,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14803,7 +14826,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14815,10 +14838,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14851,19 +14874,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14885,7 +14908,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(36);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14897,7 +14920,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14905,7 +14928,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14914,14 +14937,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14929,7 +14952,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14944,7 +14967,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14993,10 +15016,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 12)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Text;
+                        public global::std.__1.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15037,19 +15060,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(12);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15068,7 +15091,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(12);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15079,7 +15102,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15092,7 +15115,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15101,14 +15124,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15118,19 +15141,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15152,7 +15175,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15164,7 +15187,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15172,15 +15195,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15189,19 +15212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15210,12 +15233,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15223,12 +15246,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15236,7 +15259,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15265,19 +15288,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15299,7 +15322,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15309,7 +15332,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15318,14 +15341,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15334,10 +15357,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal TagName;
+                    public global::std.__1.basic_string.__Internal TagName;
 
                     [FieldOffset(20)]
-                    internal global::std.__1.vector.Internal Attributes;
+                    internal global::std.__1.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15388,13 +15411,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Name;
+                        public global::std.__1.basic_string.__Internal Name;
 
                         [FieldOffset(12)]
-                        public global::std.__1.basic_string.Internal Value;
+                        public global::std.__1.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15445,19 +15468,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(24);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15476,7 +15499,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(24);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15487,7 +15510,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15500,7 +15523,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15509,14 +15532,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15524,14 +15547,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15541,19 +15564,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15575,7 +15598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15587,7 +15610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15595,15 +15618,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15612,26 +15635,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15639,7 +15662,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15648,7 +15671,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15657,7 +15680,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal TagName;
+                    public global::std.__1.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15690,19 +15713,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15724,7 +15747,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15736,7 +15759,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15744,7 +15767,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15753,14 +15776,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15768,7 +15791,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15777,7 +15800,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15810,19 +15833,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15844,7 +15867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15856,7 +15879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15864,7 +15887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15873,14 +15896,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15888,16 +15911,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal BriefText;
+                    public global::std.__1.basic_string.__Internal BriefText;
 
                     [FieldOffset(28)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15951,19 +15974,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15982,7 +16005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15993,7 +16016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16006,7 +16029,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16015,14 +16038,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16030,14 +16053,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16045,12 +16068,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16059,16 +16082,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16083,7 +16106,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16104,20 +16127,20 @@ namespace CppSharp
                 internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16125,15 +16148,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16142,9 +16165,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16186,10 +16209,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 164)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__1.basic_string.Internal ABI;
+                public global::std.__1.basic_string.__Internal ABI;
 
                 [FieldOffset(12)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16344,19 +16367,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(164);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16375,7 +16398,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(164);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16386,7 +16409,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16399,7 +16422,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16408,14 +16431,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16423,12 +16446,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16436,12 +16459,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16449,12 +16472,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16462,12 +16485,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16475,12 +16498,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16488,12 +16511,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16501,12 +16524,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16514,12 +16537,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16527,12 +16550,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16540,12 +16563,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16553,12 +16576,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16566,12 +16589,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16579,12 +16602,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16592,12 +16615,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16605,12 +16628,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16618,12 +16641,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16631,12 +16654,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16644,12 +16667,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16657,12 +16680,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16670,12 +16693,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16683,12 +16706,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16696,12 +16719,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16709,12 +16732,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16722,12 +16745,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16735,12 +16758,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16748,12 +16771,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16761,12 +16784,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16774,12 +16797,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16787,12 +16810,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16800,12 +16823,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16813,12 +16836,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16826,12 +16849,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16839,12 +16862,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16852,12 +16875,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16865,12 +16888,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16878,12 +16901,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16891,12 +16914,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16904,12 +16927,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16964,31 +16987,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 132)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.vector.Internal Arguments;
+                internal global::std.__1.vector.__Internal Arguments;
 
                 [FieldOffset(12)]
-                public global::std.__1.basic_string.Internal LibraryFile;
+                public global::std.__1.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(24)]
-                internal global::std.__1.vector.Internal SourceFiles;
+                internal global::std.__1.vector.__Internal SourceFiles;
 
                 [FieldOffset(36)]
-                internal global::std.__1.vector.Internal IncludeDirs;
+                internal global::std.__1.vector.__Internal IncludeDirs;
 
                 [FieldOffset(48)]
-                internal global::std.__1.vector.Internal SystemIncludeDirs;
+                internal global::std.__1.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(60)]
-                internal global::std.__1.vector.Internal Defines;
+                internal global::std.__1.vector.__Internal Defines;
 
                 [FieldOffset(72)]
-                internal global::std.__1.vector.Internal Undefines;
+                internal global::std.__1.vector.__Internal Undefines;
 
                 [FieldOffset(84)]
-                internal global::std.__1.vector.Internal LibraryDirs;
+                internal global::std.__1.vector.__Internal LibraryDirs;
 
                 [FieldOffset(96)]
                 public global::System.IntPtr ASTContext;
@@ -16997,7 +17020,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(104)]
-                public global::std.__1.basic_string.Internal TargetTriple;
+                public global::std.__1.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(116)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17209,19 +17232,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(132);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17240,7 +17263,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(132);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17251,7 +17274,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17264,135 +17287,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17401,14 +17424,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17416,7 +17439,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17425,7 +17448,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17434,7 +17457,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17443,7 +17466,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17452,7 +17475,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17461,7 +17484,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17470,14 +17493,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17486,16 +17509,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17503,12 +17526,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17516,12 +17539,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17529,12 +17552,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17542,12 +17565,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17555,12 +17578,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17568,12 +17591,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17581,12 +17604,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17595,16 +17618,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17612,13 +17635,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 36)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__1.basic_string.Internal FileName;
+                public global::std.__1.basic_string.__Internal FileName;
 
                 [FieldOffset(12)]
-                public global::std.__1.basic_string.Internal Message;
+                public global::std.__1.basic_string.__Internal Message;
 
                 [FieldOffset(24)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17678,19 +17701,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(36);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17709,7 +17732,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(36);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17720,7 +17743,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17733,7 +17756,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17742,14 +17765,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17757,14 +17780,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17772,12 +17795,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17785,12 +17808,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17798,12 +17821,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17811,13 +17834,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 28)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(4)]
-                internal global::std.__1.vector.Internal Diagnostics;
+                internal global::std.__1.vector.__Internal Diagnostics;
 
                 [FieldOffset(16)]
                 public global::System.IntPtr ASTContext;
@@ -17877,19 +17900,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(28);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17908,7 +17931,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(28);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17919,7 +17942,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17932,15 +17955,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17949,19 +17972,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17970,12 +17993,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17984,16 +18007,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18002,16 +18025,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18019,7 +18042,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -18055,19 +18078,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18093,7 +18116,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18112,7 +18135,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18124,7 +18147,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18136,7 +18159,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
index cf781d60..8d5576a3 100644
--- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
+++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
@@ -11,7 +11,7 @@ using System.Security;
 public unsafe partial struct __mbstate_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __mbstate8[128];
@@ -405,7 +405,7 @@ public unsafe partial struct __mbstate_t
 public unsafe partial class __darwin_pthread_handler_rec
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __routine;
@@ -421,7 +421,7 @@ public unsafe partial class __darwin_pthread_handler_rec
 public unsafe partial class _opaque_pthread_attr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 40)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -539,7 +539,7 @@ public unsafe partial class _opaque_pthread_attr_t
 public unsafe partial class _opaque_pthread_cond_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 28)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -621,7 +621,7 @@ public unsafe partial class _opaque_pthread_cond_t
 public unsafe partial class _opaque_pthread_condattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -643,7 +643,7 @@ public unsafe partial class _opaque_pthread_condattr_t
 public unsafe partial class _opaque_pthread_mutex_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 44)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -773,7 +773,7 @@ public unsafe partial class _opaque_pthread_mutex_t
 public unsafe partial class _opaque_pthread_mutexattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -807,7 +807,7 @@ public unsafe partial class _opaque_pthread_mutexattr_t
 public unsafe partial class _opaque_pthread_once_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -829,7 +829,7 @@ public unsafe partial class _opaque_pthread_once_t
 public unsafe partial class _opaque_pthread_rwlock_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -1211,7 +1211,7 @@ public unsafe partial class _opaque_pthread_rwlock_t
 public unsafe partial class _opaque_pthread_rwlockattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -1257,7 +1257,7 @@ public unsafe partial class _opaque_pthread_rwlockattr_t
 public unsafe partial class _opaque_pthread_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 604)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sig;
@@ -3064,7 +3064,7 @@ namespace std
     namespace initializer_list
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr __begin_;
@@ -3082,7 +3082,7 @@ namespace std
         namespace conditional
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3090,7 +3090,7 @@ namespace std
         namespace integral_constant
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3098,7 +3098,7 @@ namespace std
         namespace __libcpp_is_void
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3106,7 +3106,7 @@ namespace std
         namespace __is_nullptr_t_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3114,7 +3114,7 @@ namespace std
         namespace __libcpp_is_integral
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3122,7 +3122,55 @@ namespace std
         namespace __libcpp_is_floating_point
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_lvalue_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_rvalue_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_member_function_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_member_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3130,7 +3178,7 @@ namespace std
         namespace is_scalar
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3138,7 +3186,7 @@ namespace std
         namespace remove_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3146,7 +3194,7 @@ namespace std
         namespace add_lvalue_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3154,7 +3202,15 @@ namespace std
         namespace add_rvalue_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace remove_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3162,7 +3218,7 @@ namespace std
         namespace __type_list
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3170,7 +3226,7 @@ namespace std
         namespace __align_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3178,7 +3234,7 @@ namespace std
         namespace aligned_storage
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
 
@@ -3186,7 +3242,7 @@ namespace std
             public unsafe partial struct type
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -3195,7 +3251,7 @@ namespace std
         namespace __numeric_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3203,7 +3259,7 @@ namespace std
         namespace __make_signed
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3211,7 +3267,15 @@ namespace std
         namespace __make_unsigned
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_nothrow_destructible
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3219,7 +3283,7 @@ namespace std
         public unsafe partial class __two
         {
             [StructLayout(LayoutKind.Explicit, Size = 2)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public fixed sbyte __lx[2];
@@ -3232,7 +3296,7 @@ namespace std
         public unsafe partial class __any
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3240,7 +3304,7 @@ namespace std
         public unsafe partial class __nat
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3248,7 +3312,7 @@ namespace std
         public unsafe partial class __struct_double
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3256,7 +3320,7 @@ namespace std
         public unsafe partial class __struct_double4
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public fixed double __lx[4];
@@ -3297,7 +3361,7 @@ namespace std
         namespace __tuple_convertible_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3305,7 +3369,7 @@ namespace std
         namespace __tuple_constructible_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3313,7 +3377,7 @@ namespace std
         namespace __tuple_assignable_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3327,7 +3391,7 @@ namespace std
         public unsafe partial class piecewise_construct_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3343,7 +3407,7 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3353,7 +3417,7 @@ namespace std
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3363,7 +3427,7 @@ namespace std
     public unsafe partial class exception_ptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr __ptr_;
@@ -3373,13 +3437,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_nested_exception;
 
             [FieldOffset(4)]
-            internal global::std.exception_ptr.Internal __ptr_;
+            internal global::std.exception_ptr.__Internal __ptr_;
         }
     }
 }
@@ -3389,7 +3453,7 @@ namespace std
     public unsafe partial class type_info
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_type_info;
@@ -3402,7 +3466,7 @@ namespace std
     public unsafe partial class bad_cast
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3412,7 +3476,7 @@ namespace std
     public unsafe partial class bad_typeid
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3425,7 +3489,7 @@ namespace std
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3435,7 +3499,7 @@ namespace std
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -3445,7 +3509,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3474,7 +3538,7 @@ namespace std
         namespace __libcpp_numeric_limits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -3484,7 +3548,7 @@ namespace std
 public unsafe partial class __sbuf
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _base;
@@ -3497,7 +3561,7 @@ public unsafe partial class __sbuf
 public unsafe partial class __sFILE
 {
     [StructLayout(LayoutKind.Explicit, Size = 88)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _p;
@@ -3515,7 +3579,7 @@ public unsafe partial class __sFILE
         public short _file;
 
         [FieldOffset(16)]
-        internal global::__sbuf.Internal _bf;
+        internal global::__sbuf.__Internal _bf;
 
         [FieldOffset(24)]
         public int _lbfsize;
@@ -3536,7 +3600,7 @@ public unsafe partial class __sFILE
         public global::System.IntPtr _write;
 
         [FieldOffset(48)]
-        internal global::__sbuf.Internal _ub;
+        internal global::__sbuf.__Internal _ub;
 
         [FieldOffset(56)]
         public global::System.IntPtr _extra;
@@ -3557,7 +3621,7 @@ public unsafe partial class __sFILE
         public fixed byte _nbuf[1];
 
         [FieldOffset(68)]
-        internal global::__sbuf.Internal _lb;
+        internal global::__sbuf.__Internal _lb;
 
         [FieldOffset(76)]
         public int _blksize;
@@ -3570,7 +3634,7 @@ public unsafe partial class __sFILE
 public unsafe partial class timespec
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tv_sec;
@@ -3583,7 +3647,7 @@ public unsafe partial class timespec
 public unsafe partial class __darwin_sigaltstack
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr ss_sp;
@@ -3599,7 +3663,7 @@ public unsafe partial class __darwin_sigaltstack
 public unsafe partial class __darwin_ucontext
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int uc_onstack;
@@ -3608,7 +3672,7 @@ public unsafe partial class __darwin_ucontext
         public uint uc_sigmask;
 
         [FieldOffset(8)]
-        internal global::__darwin_sigaltstack.Internal uc_stack;
+        internal global::__darwin_sigaltstack.__Internal uc_stack;
 
         [FieldOffset(20)]
         public global::System.IntPtr uc_link;
@@ -3624,7 +3688,7 @@ public unsafe partial class __darwin_ucontext
 public unsafe partial class timeval
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tv_sec;
@@ -3637,7 +3701,7 @@ public unsafe partial class timeval
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 44)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -3677,7 +3741,7 @@ public unsafe partial class tm
 public unsafe partial class _RuneEntry
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __min;
@@ -3696,7 +3760,7 @@ public unsafe partial class _RuneEntry
 public unsafe partial class _RuneRange
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __nranges;
@@ -3709,7 +3773,7 @@ public unsafe partial class _RuneRange
 public unsafe partial class _RuneCharClass
 {
     [StructLayout(LayoutKind.Explicit, Size = 20)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __name[14];
@@ -3761,7 +3825,7 @@ public unsafe partial class _RuneCharClass
 public unsafe partial class _RuneLocale
 {
     [StructLayout(LayoutKind.Explicit, Size = 3164)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __magic[8];
@@ -6197,13 +6261,13 @@ public unsafe partial class _RuneLocale
         public int __dummy___mapupper_255;
 
         [FieldOffset(3124)]
-        internal global::_RuneRange.Internal __runetype_ext;
+        internal global::_RuneRange.__Internal __runetype_ext;
 
         [FieldOffset(3132)]
-        internal global::_RuneRange.Internal __maplower_ext;
+        internal global::_RuneRange.__Internal __maplower_ext;
 
         [FieldOffset(3140)]
-        internal global::_RuneRange.Internal __mapupper_ext;
+        internal global::_RuneRange.__Internal __mapupper_ext;
 
         [FieldOffset(3148)]
         public global::System.IntPtr __variable;
@@ -6233,7 +6297,15 @@ namespace std
         namespace iterator
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace iterator_traits
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6241,7 +6313,7 @@ namespace std
         public unsafe partial class input_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6249,7 +6321,7 @@ namespace std
         public unsafe partial class output_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6257,7 +6329,7 @@ namespace std
         public unsafe partial class forward_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6265,7 +6337,7 @@ namespace std
         public unsafe partial class bidirectional_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6273,7 +6345,7 @@ namespace std
         public unsafe partial class random_access_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6284,10 +6356,18 @@ namespace std
 {
     namespace __1
     {
+        namespace __weak_result_type
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
         namespace unary_function
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6295,7 +6375,7 @@ namespace std
         namespace binary_function
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6303,7 +6383,7 @@ namespace std
         namespace less
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6311,7 +6391,7 @@ namespace std
         public unsafe partial class allocator_arg_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6325,7 +6405,7 @@ namespace std
         namespace tuple
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6333,7 +6413,7 @@ namespace std
         namespace __ignore_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6341,7 +6421,7 @@ namespace std
         namespace __tuple_equal
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6349,7 +6429,7 @@ namespace std
         namespace __tuple_less
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6363,7 +6443,7 @@ namespace std
         public unsafe partial class allocator : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6384,19 +6464,19 @@ namespace std
                 return new allocator(native.ToPointer(), skipVTables);
             }
 
-            public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+            public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
             {
                 return new allocator(native, skipVTables);
             }
 
-            private static void* __CopyValue(allocator.Internal native)
+            private static void* __CopyValue(allocator.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(allocator.Internal*) ret = native;
+                *(allocator.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private allocator(allocator.Internal native, bool skipVTables = false)
+            private allocator(allocator.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -6415,7 +6495,7 @@ namespace std
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public void Dispose()
@@ -6436,7 +6516,7 @@ namespace std
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -6444,7 +6524,7 @@ namespace std
         namespace allocator_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6452,17 +6532,17 @@ namespace std
         namespace __compressed_pair
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.basic_string.__rep.Internal __first_;
+                internal global::std.__1.basic_string.__rep.__Internal __first_;
             }
         }
 
         namespace __pointer_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6470,7 +6550,7 @@ namespace std
         namespace __const_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6478,7 +6558,7 @@ namespace std
         namespace __void_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6486,7 +6566,7 @@ namespace std
         namespace pointer_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
 
@@ -6494,7 +6574,7 @@ namespace std
             public unsafe static partial class __nat
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -6503,7 +6583,7 @@ namespace std
         namespace __const_void_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6511,7 +6591,7 @@ namespace std
         namespace __alloc_traits_difference_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6519,7 +6599,7 @@ namespace std
         namespace __size_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6527,7 +6607,7 @@ namespace std
         namespace __propagate_on_container_copy_assignment
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6535,7 +6615,7 @@ namespace std
         namespace __propagate_on_container_move_assignment
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6543,7 +6623,7 @@ namespace std
         namespace __propagate_on_container_swap
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6551,7 +6631,7 @@ namespace std
         namespace auto_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -6559,7 +6639,7 @@ namespace std
         public unsafe partial class __destruct_n
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint size;
@@ -6569,7 +6649,7 @@ namespace std
         public unsafe partial class bad_weak_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr_exception;
@@ -6579,7 +6659,7 @@ namespace std
         public unsafe abstract partial class __shared_count
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr___shared_count;
@@ -6592,7 +6672,7 @@ namespace std
         public unsafe abstract partial class __shared_weak_count
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr___shared_count;
@@ -6608,7 +6688,7 @@ namespace std
         public unsafe partial class __sp_mut
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __lx;
@@ -6618,7 +6698,7 @@ namespace std
         public unsafe partial class pointer_safety
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 internal global::std.__1.pointer_safety.__lx __v_;
@@ -6637,7 +6717,7 @@ namespace std
             namespace __pointer_type
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public unsafe partial struct Internal
+                public unsafe partial struct __Internal
                 {
                 }
             }
@@ -6652,7 +6732,7 @@ namespace std
 public unsafe partial struct sigval
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int sival_int;
@@ -6665,7 +6745,7 @@ public unsafe partial struct sigval
 public unsafe partial class sigevent
 {
     [StructLayout(LayoutKind.Explicit, Size = 20)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int sigev_notify;
@@ -6674,7 +6754,7 @@ public unsafe partial class sigevent
         public int sigev_signo;
 
         [FieldOffset(8)]
-        internal global::sigval.Internal sigev_value;
+        internal global::sigval.__Internal sigev_value;
 
         [FieldOffset(12)]
         public global::System.IntPtr sigev_notify_function;
@@ -6687,7 +6767,7 @@ public unsafe partial class sigevent
 public unsafe partial class __siginfo
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int si_signo;
@@ -6711,7 +6791,7 @@ public unsafe partial class __siginfo
         public global::System.IntPtr si_addr;
 
         [FieldOffset(28)]
-        internal global::sigval.Internal si_value;
+        internal global::sigval.__Internal si_value;
 
         [FieldOffset(32)]
         public int si_band;
@@ -6742,7 +6822,7 @@ public unsafe partial class __siginfo
 public unsafe partial struct __sigaction_u
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __sa_handler;
@@ -6755,10 +6835,10 @@ public unsafe partial struct __sigaction_u
 public unsafe partial class __sigaction
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__sigaction_u.Internal __sigaction_u;
+        internal global::__sigaction_u.__Internal __sigaction_u;
 
         [FieldOffset(4)]
         public global::System.IntPtr sa_tramp;
@@ -6774,10 +6854,10 @@ public unsafe partial class __sigaction
 public unsafe partial class sigaction
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__sigaction_u.Internal __sigaction_u;
+        internal global::__sigaction_u.__Internal __sigaction_u;
 
         [FieldOffset(4)]
         public uint sa_mask;
@@ -6790,7 +6870,7 @@ public unsafe partial class sigaction
 public unsafe partial class sigvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr sv_handler;
@@ -6806,7 +6886,7 @@ public unsafe partial class sigvec
 public unsafe partial class sigstack
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr ss_sp;
@@ -6819,71 +6899,71 @@ public unsafe partial class sigstack
 public unsafe partial class __darwin_mcontext32
 {
     [StructLayout(LayoutKind.Explicit, Size = 600)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_i386_exception_state.Internal __es;
+        internal global::__darwin_i386_exception_state.__Internal __es;
 
         [FieldOffset(12)]
-        internal global::__darwin_i386_thread_state.Internal __ss;
+        internal global::__darwin_i386_thread_state.__Internal __ss;
 
         [FieldOffset(76)]
-        internal global::__darwin_i386_float_state.Internal __fs;
+        internal global::__darwin_i386_float_state.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext_avx32
 {
     [StructLayout(LayoutKind.Explicit, Size = 792)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_i386_exception_state.Internal __es;
+        internal global::__darwin_i386_exception_state.__Internal __es;
 
         [FieldOffset(12)]
-        internal global::__darwin_i386_thread_state.Internal __ss;
+        internal global::__darwin_i386_thread_state.__Internal __ss;
 
         [FieldOffset(76)]
-        internal global::__darwin_i386_avx_state.Internal __fs;
+        internal global::__darwin_i386_avx_state.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext64
 {
     [StructLayout(LayoutKind.Explicit, Size = 708)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_x86_exception_state64.Internal __es;
+        internal global::__darwin_x86_exception_state64.__Internal __es;
 
         [FieldOffset(16)]
-        internal global::__darwin_x86_thread_state64.Internal __ss;
+        internal global::__darwin_x86_thread_state64.__Internal __ss;
 
         [FieldOffset(184)]
-        internal global::__darwin_x86_float_state64.Internal __fs;
+        internal global::__darwin_x86_float_state64.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext_avx64
 {
     [StructLayout(LayoutKind.Explicit, Size = 1028)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_x86_exception_state64.Internal __es;
+        internal global::__darwin_x86_exception_state64.__Internal __es;
 
         [FieldOffset(16)]
-        internal global::__darwin_x86_thread_state64.Internal __ss;
+        internal global::__darwin_x86_thread_state64.__Internal __ss;
 
         [FieldOffset(184)]
-        internal global::__darwin_x86_avx_state64.Internal __fs;
+        internal global::__darwin_x86_avx_state64.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_i386_thread_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint __eax;
@@ -6938,7 +7018,7 @@ public unsafe partial class __darwin_i386_thread_state
 public unsafe partial class __darwin_fp_control
 {
     [StructLayout(LayoutKind.Explicit, Size = 2)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __invalid;
@@ -6978,7 +7058,7 @@ public unsafe partial class __darwin_fp_control
 public unsafe partial class __darwin_fp_status
 {
     [StructLayout(LayoutKind.Explicit, Size = 2)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __invalid;
@@ -7027,7 +7107,7 @@ public unsafe partial class __darwin_fp_status
 public unsafe partial class __darwin_mmst_reg
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __mmst_reg[10];
@@ -7082,7 +7162,7 @@ public unsafe partial class __darwin_mmst_reg
 public unsafe partial class __darwin_xmm_reg
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __xmm_reg[16];
@@ -7137,7 +7217,7 @@ public unsafe partial class __darwin_xmm_reg
 public unsafe partial class __darwin_i386_float_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 524)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -7146,10 +7226,10 @@ public unsafe partial class __darwin_i386_float_state
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -7185,52 +7265,52 @@ public unsafe partial class __darwin_i386_float_state
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
         public fixed sbyte __fpu_rsrv4[224];
@@ -7912,7 +7992,7 @@ public unsafe partial class __darwin_i386_float_state
 public unsafe partial class __darwin_i386_avx_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 716)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -7921,10 +8001,10 @@ public unsafe partial class __darwin_i386_avx_state
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -7960,52 +8040,52 @@ public unsafe partial class __darwin_i386_avx_state
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
         public fixed sbyte __fpu_rsrv4[224];
@@ -8875,35 +8955,35 @@ public unsafe partial class __darwin_i386_avx_state
         public sbyte __dummy___avx_reserved1_63;
 
         [FieldOffset(588)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh0;
 
         [FieldOffset(604)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh1;
 
         [FieldOffset(620)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh2;
 
         [FieldOffset(636)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh3;
 
         [FieldOffset(652)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh4;
 
         [FieldOffset(668)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh5;
 
         [FieldOffset(684)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh6;
 
         [FieldOffset(700)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh7;
     }
 }
 
 public unsafe partial class __darwin_i386_exception_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __trapno;
@@ -8922,7 +9002,7 @@ public unsafe partial class __darwin_i386_exception_state
 public unsafe partial class __darwin_x86_debug_state32
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint __dr0;
@@ -8953,7 +9033,7 @@ public unsafe partial class __darwin_x86_debug_state32
 public unsafe partial class __darwin_x86_thread_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 168)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong __rax;
@@ -9023,7 +9103,7 @@ public unsafe partial class __darwin_x86_thread_state64
 public unsafe partial class __darwin_x86_float_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 524)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -9032,10 +9112,10 @@ public unsafe partial class __darwin_x86_float_state64
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -9071,76 +9151,76 @@ public unsafe partial class __darwin_x86_float_state64
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm8;
 
         [FieldOffset(312)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm9;
 
         [FieldOffset(328)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm10;
 
         [FieldOffset(344)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm11;
 
         [FieldOffset(360)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm12;
 
         [FieldOffset(376)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm13;
 
         [FieldOffset(392)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm14;
 
         [FieldOffset(408)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm15;
 
         [FieldOffset(424)]
         public fixed sbyte __fpu_rsrv4[96];
@@ -9438,7 +9518,7 @@ public unsafe partial class __darwin_x86_float_state64
 public unsafe partial class __darwin_x86_avx_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 844)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -9447,10 +9527,10 @@ public unsafe partial class __darwin_x86_avx_state64
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -9486,76 +9566,76 @@ public unsafe partial class __darwin_x86_avx_state64
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm8;
 
         [FieldOffset(312)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm9;
 
         [FieldOffset(328)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm10;
 
         [FieldOffset(344)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm11;
 
         [FieldOffset(360)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm12;
 
         [FieldOffset(376)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm13;
 
         [FieldOffset(392)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm14;
 
         [FieldOffset(408)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm15;
 
         [FieldOffset(424)]
         public fixed sbyte __fpu_rsrv4[96];
@@ -10041,59 +10121,59 @@ public unsafe partial class __darwin_x86_avx_state64
         public sbyte __dummy___avx_reserved1_63;
 
         [FieldOffset(588)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh0;
 
         [FieldOffset(604)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh1;
 
         [FieldOffset(620)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh2;
 
         [FieldOffset(636)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh3;
 
         [FieldOffset(652)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh4;
 
         [FieldOffset(668)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh5;
 
         [FieldOffset(684)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh6;
 
         [FieldOffset(700)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh7;
 
         [FieldOffset(716)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh8;
 
         [FieldOffset(732)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh9;
 
         [FieldOffset(748)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh10;
 
         [FieldOffset(764)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh11;
 
         [FieldOffset(780)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh12;
 
         [FieldOffset(796)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh13;
 
         [FieldOffset(812)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh14;
 
         [FieldOffset(828)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh15;
     }
 }
 
 public unsafe partial class __darwin_x86_exception_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __trapno;
@@ -10112,7 +10192,7 @@ public unsafe partial class __darwin_x86_exception_state64
 public unsafe partial class __darwin_x86_debug_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong __dr0;
@@ -10143,13 +10223,13 @@ public unsafe partial class __darwin_x86_debug_state64
 public unsafe partial class rusage
 {
     [StructLayout(LayoutKind.Explicit, Size = 72)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::timeval.Internal ru_utime;
+        internal global::timeval.__Internal ru_utime;
 
         [FieldOffset(8)]
-        internal global::timeval.Internal ru_stime;
+        internal global::timeval.__Internal ru_stime;
 
         [FieldOffset(16)]
         public int ru_maxrss;
@@ -10198,7 +10278,7 @@ public unsafe partial class rusage
 public unsafe partial class rlimit
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong rlim_cur;
@@ -10218,22 +10298,22 @@ public enum idtype_t : uint
 public unsafe partial struct wait
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int w_status;
 
         [FieldOffset(0)]
-        internal global::wait._.Internal w_T;
+        internal global::wait._.__Internal w_T;
 
         [FieldOffset(0)]
-        internal global::wait.__.Internal w_S;
+        internal global::wait.__.__Internal w_S;
     }
 
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint w_Termsig;
@@ -10252,7 +10332,7 @@ public unsafe partial struct wait
     public unsafe partial class __
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint w_Stopval;
@@ -10269,7 +10349,7 @@ public unsafe partial struct wait
 public unsafe partial class div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -10282,7 +10362,7 @@ public unsafe partial class div_t
 public unsafe partial class ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -10295,7 +10375,7 @@ public unsafe partial class ldiv_t
 public unsafe partial class lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -10319,10 +10399,18 @@ namespace std
             memory_order_seq_cst = 5
         }
 
+        namespace atomic
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
         public unsafe partial class atomic_flag
         {
             [StructLayout(LayoutKind.Explicit, Size = 1)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public byte __a_;
@@ -10338,7 +10426,7 @@ namespace std
         public unsafe partial class __rs_default
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -10346,7 +10434,7 @@ namespace std
         public unsafe partial class __return_temporary_buffer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -10365,7 +10453,7 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10378,7 +10466,7 @@ namespace std
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10391,7 +10479,7 @@ namespace std
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10404,7 +10492,7 @@ namespace std
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10417,7 +10505,7 @@ namespace std
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10430,7 +10518,7 @@ namespace std
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10443,7 +10531,7 @@ namespace std
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10456,7 +10544,7 @@ namespace std
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10469,7 +10557,7 @@ namespace std
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -10487,7 +10575,7 @@ namespace std
         namespace __split_buffer_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -10501,7 +10589,7 @@ namespace std
         namespace __vector_base_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -10509,7 +10597,7 @@ namespace std
         namespace __vector_base
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_;
@@ -10518,14 +10606,14 @@ namespace std
                 public global::System.IntPtr __end_;
 
                 [FieldOffset(8)]
-                internal global::std.__1.__compressed_pair.Internal __end_cap_;
+                internal global::std.__1.__compressed_pair.__Internal __end_cap_;
             }
         }
 
         namespace vector
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_;
@@ -10534,7 +10622,7 @@ namespace std
                 public global::System.IntPtr __end_;
 
                 [FieldOffset(8)]
-                internal global::std.__1.__compressed_pair.Internal __end_cap_;
+                internal global::std.__1.__compressed_pair.__Internal __end_cap_;
             }
         }
     }
@@ -10547,23 +10635,23 @@ namespace std
         namespace __tree
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_node_;
 
                 [FieldOffset(4)]
-                internal global::std.__1.__compressed_pair.Internal __pair1_;
+                internal global::std.__1.__compressed_pair.__Internal __pair1_;
 
                 [FieldOffset(8)]
-                internal global::std.__1.__compressed_pair.Internal __pair3_;
+                internal global::std.__1.__compressed_pair.__Internal __pair3_;
             }
         }
 
         namespace __tree_node_base
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __left_;
@@ -10582,7 +10670,7 @@ namespace std
         namespace __tree_end_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public unsafe partial struct Internal_Ptr
+            public unsafe partial struct __Internal_Ptr
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __left_;
@@ -10598,7 +10686,7 @@ namespace std
         public unsafe partial class bad_function_call
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr_exception;
@@ -10622,17 +10710,17 @@ namespace std
         namespace map
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.__tree.Internal __tree_;
+                internal global::std.__1.__tree.__Internal __tree_;
             }
 
 
             public unsafe partial class value_compare
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -10641,7 +10729,7 @@ namespace std
         namespace __map_value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -10659,7 +10747,7 @@ namespace std
         namespace char_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -10667,10 +10755,10 @@ namespace std
         public unsafe partial class basic_string : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.__compressed_pair.Internal __r_;
+                internal global::std.__1.__compressed_pair.__Internal __r_;
 
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10712,25 +10800,25 @@ namespace std
             public unsafe partial class __rep
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__rep._.Internal _;
+                    internal global::std.__1.basic_string.__rep._.__Internal _;
                 }
 
                 public unsafe partial struct _
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 12)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__long.Internal __l;
+                        internal global::std.__1.basic_string.__long.__Internal __l;
 
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__short.Internal __s;
+                        internal global::std.__1.basic_string.__short.__Internal __s;
 
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__raw.Internal __r;
+                        internal global::std.__1.basic_string.__raw.__Internal __r;
                     }
                 }
             }
@@ -10738,7 +10826,7 @@ namespace std
             public unsafe partial class __long
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint __cap_;
@@ -10754,10 +10842,10 @@ namespace std
             public unsafe partial class __short
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__short._.Internal _;
+                    internal global::std.__1.basic_string.__short._.__Internal _;
 
                     [FieldOffset(1)]
                     public fixed sbyte __data_[11];
@@ -10796,7 +10884,7 @@ namespace std
                 public unsafe partial struct _
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 1)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public byte __size_;
@@ -10810,7 +10898,7 @@ namespace std
             public unsafe partial class __raw
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public fixed uint __words[3];
@@ -10826,13 +10914,13 @@ namespace std
             public unsafe partial struct __ulx
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__long.Internal __lx;
+                    internal global::std.__1.basic_string.__long.__Internal __lx;
 
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__short.Internal __lxx;
+                    internal global::std.__1.basic_string.__short.__Internal __lxx;
                 }
             }
 
@@ -10849,19 +10937,19 @@ namespace std
                 return new basic_string(native.ToPointer(), skipVTables);
             }
 
-            public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+            public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
             {
                 return new basic_string(native, skipVTables);
             }
 
-            private static void* __CopyValue(basic_string.Internal native)
+            private static void* __CopyValue(basic_string.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(12);
-                *(basic_string.Internal*) ret = native;
+                *(basic_string.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private basic_string(basic_string.Internal native, bool skipVTables = false)
+            private basic_string(basic_string.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -10885,14 +10973,14 @@ namespace std
                 global::std.__1.basic_string __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string c_str()
             {
-                var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+                var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
                 return Marshal.PtrToStringAnsi(__ret);
             }
         }
@@ -10901,7 +10989,7 @@ namespace std
         public unsafe partial class __long
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -10910,7 +10998,7 @@ namespace std
         public unsafe partial class __short
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -10919,7 +11007,7 @@ namespace std
         public unsafe partial struct __ulx
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -10928,7 +11016,7 @@ namespace std
         public unsafe partial class __raw
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -10937,7 +11025,7 @@ namespace std
         public unsafe partial class __rep
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -10945,7 +11033,7 @@ namespace std
         namespace __basic_string_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
index 15b87285..1ed53a25 100644
--- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(4)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(20)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(16)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(12)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(20)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(20)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(16)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(16)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal Components;
+                    internal global::std.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,15 +3216,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.Internal();
-                    Internal.getComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal();
+                    __Internal.getComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3226,19 +3233,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3247,7 +3254,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3259,7 +3266,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -3290,19 +3297,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3321,7 +3328,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3332,7 +3339,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3345,7 +3352,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3354,12 +3361,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3367,12 +3374,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3380,12 +3387,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3393,12 +3400,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3406,16 +3413,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(4)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(28)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(36)]
                     public global::System.IntPtr FieldPtr;
@@ -3459,19 +3466,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3490,7 +3497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3501,7 +3508,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3514,7 +3521,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3523,14 +3530,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3538,12 +3545,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3551,12 +3558,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3564,12 +3571,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3577,7 +3584,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3614,19 +3621,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3645,7 +3652,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3656,7 +3663,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3669,7 +3676,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3678,12 +3685,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3692,16 +3699,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3709,16 +3716,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(4)]
-                    internal global::std.vector.Internal VFTables;
+                    internal global::std.vector.__Internal VFTables;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(28)]
                     public byte HasOwnVFPtr;
@@ -3736,10 +3743,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(48)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(60)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -3830,19 +3837,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3861,7 +3868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(72);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3872,7 +3879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3885,15 +3892,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3902,18 +3909,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3922,18 +3929,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3942,19 +3949,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3963,7 +3970,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3972,7 +3979,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3981,12 +3988,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3994,12 +4001,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4007,12 +4014,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4020,12 +4027,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4033,12 +4040,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4046,12 +4053,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4059,12 +4066,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4072,7 +4079,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4084,7 +4091,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -4093,13 +4100,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -4117,7 +4124,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -4204,19 +4211,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4236,7 +4243,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4247,7 +4254,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4260,14 +4267,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4281,26 +4288,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4308,14 +4315,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4323,14 +4330,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4338,7 +4345,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4347,12 +4354,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4360,12 +4367,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4374,16 +4381,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4391,12 +4398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4404,12 +4411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4417,12 +4424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4430,12 +4437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4443,12 +4450,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4456,12 +4463,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4470,16 +4477,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4487,12 +4494,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4500,12 +4507,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4514,16 +4521,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4531,7 +4538,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4543,7 +4550,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -4552,13 +4559,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -4576,7 +4583,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -4585,34 +4592,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
@@ -4818,19 +4825,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4853,7 +4860,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4865,7 +4872,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4873,14 +4880,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4894,17 +4901,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4918,17 +4925,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4942,17 +4949,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4966,17 +4973,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4990,17 +4997,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5014,17 +5021,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5038,17 +5045,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5062,17 +5069,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5086,19 +5093,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5107,7 +5114,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5116,7 +5123,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5125,7 +5132,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5134,7 +5141,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5143,7 +5150,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5152,7 +5159,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5161,7 +5168,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5170,7 +5177,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5179,12 +5186,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5192,7 +5199,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5204,7 +5211,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5213,13 +5220,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -5237,7 +5244,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -5246,7 +5253,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -5269,19 +5276,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5304,7 +5311,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5316,7 +5323,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5324,7 +5331,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5333,12 +5340,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5346,7 +5353,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5358,7 +5365,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5367,13 +5374,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -5391,7 +5398,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -5400,7 +5407,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -5423,19 +5430,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5457,7 +5464,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(136);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5469,7 +5476,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5477,7 +5484,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5486,7 +5493,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 140)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5498,7 +5505,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5507,13 +5514,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -5531,7 +5538,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -5540,7 +5547,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5566,19 +5573,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(140);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5600,7 +5607,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(140);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5612,7 +5619,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5620,7 +5627,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5630,16 +5637,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5647,7 +5654,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 132)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5659,7 +5666,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -5668,13 +5675,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -5692,7 +5699,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -5724,19 +5731,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(132);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5758,7 +5765,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(132);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5770,7 +5777,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5778,7 +5785,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5788,16 +5795,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5805,7 +5812,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5814,7 +5821,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -5850,19 +5857,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5884,7 +5891,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5897,7 +5904,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5906,14 +5913,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5921,12 +5928,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5935,16 +5942,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5952,7 +5959,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5961,7 +5968,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -5979,19 +5986,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6016,7 +6023,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6024,7 +6031,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6033,7 +6040,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6042,7 +6049,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr LHS;
@@ -6051,7 +6058,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal OpcodeStr;
+                    public global::std.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -6079,19 +6086,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6116,7 +6123,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6124,7 +6131,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6133,14 +6140,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6149,16 +6156,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6167,16 +6174,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6184,7 +6191,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 44)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6193,10 +6200,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -6234,19 +6241,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(44);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6271,7 +6278,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6279,14 +6286,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6300,19 +6307,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6321,7 +6328,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 44)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6330,10 +6337,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -6371,19 +6378,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(44);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6408,7 +6415,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6416,14 +6423,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6437,19 +6444,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6458,7 +6465,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 148)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6470,7 +6477,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -6479,13 +6486,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -6503,7 +6510,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -6512,7 +6519,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public byte IsIndirect;
@@ -6547,19 +6554,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(148);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6581,7 +6588,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(148);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6593,7 +6600,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6601,7 +6608,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6610,12 +6617,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6623,12 +6630,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6636,12 +6643,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6649,12 +6656,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6663,16 +6670,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6680,7 +6687,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 220)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6692,7 +6699,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -6701,13 +6708,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -6725,7 +6732,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -6734,7 +6741,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(136)]
                     public byte IsReturnIndirect;
@@ -6758,16 +6765,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(148)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(172)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(196)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(212)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6836,19 +6843,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(220);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6870,7 +6877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(220);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6882,7 +6889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6890,14 +6897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6911,26 +6918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6938,14 +6945,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6953,7 +6960,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6962,12 +6969,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6975,12 +6982,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6988,12 +6995,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7001,12 +7008,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7014,12 +7021,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7027,12 +7034,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7040,12 +7047,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7053,12 +7060,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7066,12 +7073,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7080,16 +7087,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7098,24 +7105,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 244)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 248)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7127,7 +7134,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7136,13 +7143,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -7160,7 +7167,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -7169,7 +7176,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(136)]
                     public byte IsReturnIndirect;
@@ -7193,16 +7200,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(148)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(172)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(196)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(212)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7238,7 +7245,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(236)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(244)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -7261,19 +7271,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(244);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(248);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7292,22 +7302,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(244);
+                    __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(244);
+                    __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7315,7 +7325,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7324,12 +7334,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7337,12 +7347,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7350,12 +7360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7363,12 +7373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7376,12 +7386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7389,12 +7399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7402,12 +7412,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7415,12 +7425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7428,12 +7438,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7441,12 +7451,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7454,7 +7477,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 272)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7466,7 +7489,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7475,13 +7498,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -7499,7 +7522,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -7508,34 +7531,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
@@ -7550,7 +7573,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(260)]
-                    internal global::std.vector.Internal Items;
+                    internal global::std.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -7599,7 +7622,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 160)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7611,7 +7634,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(12)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(16)]
                         public int LineNumberStart;
@@ -7620,13 +7643,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(24)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(48)]
-                        public global::std.basic_string.Internal USR;
+                        public global::std.basic_string.__Internal USR;
 
                         [FieldOffset(72)]
-                        public global::std.basic_string.Internal DebugText;
+                        public global::std.basic_string.__Internal DebugText;
 
                         [FieldOffset(96)]
                         public byte IsIncomplete;
@@ -7644,7 +7667,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(108)]
-                        internal global::std.vector.Internal PreprocessedEntities;
+                        internal global::std.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(120)]
                         public global::System.IntPtr OriginalPtr;
@@ -7653,7 +7676,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(128)]
-                        public global::std.basic_string.Internal Expression;
+                        public global::std.basic_string.__Internal Expression;
 
                         [FieldOffset(152)]
                         public ulong Value;
@@ -7689,19 +7712,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(160);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7723,7 +7746,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(160);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7735,7 +7758,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7743,7 +7766,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7752,14 +7775,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7767,12 +7790,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7782,19 +7805,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(272);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7816,7 +7839,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(272);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7828,7 +7851,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7836,14 +7859,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7857,19 +7880,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7878,12 +7901,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7892,16 +7915,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7910,16 +7933,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7927,7 +7950,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 160)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7939,7 +7962,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -7948,13 +7971,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -7972,7 +7995,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -7981,10 +8004,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(152)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -8017,19 +8040,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(160);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8051,7 +8074,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(160);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8063,7 +8086,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8071,7 +8094,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8080,14 +8103,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8095,12 +8118,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8108,7 +8131,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8146,19 +8169,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8177,7 +8200,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8185,7 +8208,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8205,12 +8228,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8218,12 +8241,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8232,16 +8255,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8249,12 +8272,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8262,7 +8285,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 148)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8274,7 +8297,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8283,13 +8306,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -8307,7 +8330,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -8316,7 +8339,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public global::System.IntPtr Class;
@@ -8348,19 +8371,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(148);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8382,7 +8405,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(148);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8394,7 +8417,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8402,7 +8425,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8411,12 +8434,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8425,16 +8448,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8442,12 +8465,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8455,12 +8478,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8468,7 +8491,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8480,7 +8503,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8489,13 +8512,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -8513,7 +8536,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -8542,19 +8565,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8576,7 +8599,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(128);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8588,7 +8611,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8596,7 +8619,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8605,7 +8628,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 312)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8617,7 +8640,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -8626,13 +8649,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -8650,7 +8673,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -8659,49 +8682,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(260)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(272)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(284)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(296)]
                     public byte IsPOD;
@@ -8834,19 +8857,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(312);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8868,7 +8891,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(312);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8880,7 +8903,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8888,14 +8911,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8909,17 +8932,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8933,17 +8956,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8957,17 +8980,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8981,19 +9004,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9002,7 +9025,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9011,7 +9034,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9020,7 +9043,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9029,12 +9052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9042,12 +9065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9055,12 +9078,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9068,12 +9091,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9081,12 +9104,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9094,12 +9117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9107,12 +9130,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9120,12 +9143,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9133,12 +9156,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9147,16 +9170,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9164,7 +9187,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9176,7 +9199,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9185,13 +9208,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -9209,7 +9232,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -9221,7 +9244,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -9269,19 +9292,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9304,7 +9327,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9313,7 +9336,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(144);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9325,7 +9348,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9333,14 +9356,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9354,19 +9377,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9376,16 +9399,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9393,7 +9416,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9405,7 +9428,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9414,13 +9437,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -9438,7 +9461,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -9450,7 +9473,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -9473,19 +9496,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9507,7 +9530,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(144);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9519,7 +9542,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9527,7 +9550,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9536,7 +9559,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 140)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9548,7 +9571,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9557,13 +9580,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -9581,7 +9604,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -9619,19 +9642,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(140);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9654,7 +9677,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9666,7 +9689,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9674,7 +9697,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9683,12 +9706,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9696,12 +9719,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9709,12 +9732,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9722,7 +9745,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 148)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9734,7 +9757,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9743,13 +9766,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -9767,7 +9790,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -9779,7 +9802,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(144)]
                     public byte IsParameterPack;
@@ -9811,19 +9834,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(148);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9845,7 +9868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(148);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9857,7 +9880,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9865,7 +9888,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9874,12 +9897,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9887,12 +9910,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9900,12 +9923,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9913,7 +9936,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 148)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9925,7 +9948,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -9934,13 +9957,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -9958,7 +9981,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -9976,7 +9999,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(140)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -9999,19 +10022,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(148);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10033,7 +10056,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(148);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10045,7 +10068,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10053,7 +10076,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10062,12 +10085,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10075,7 +10098,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10087,7 +10110,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10096,13 +10119,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -10120,7 +10143,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -10170,19 +10193,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10204,7 +10227,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10216,7 +10239,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10224,7 +10247,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10234,16 +10257,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10251,12 +10274,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10264,12 +10287,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10277,12 +10300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10290,7 +10313,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 156)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10302,7 +10325,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10311,13 +10334,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -10335,7 +10358,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -10347,10 +10370,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -10393,19 +10416,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(156);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10427,7 +10450,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(156);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10439,7 +10462,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10447,14 +10470,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10468,19 +10491,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10489,7 +10512,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 332)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10501,7 +10524,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10510,13 +10533,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -10534,7 +10557,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -10543,49 +10566,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(260)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(272)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(284)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(296)]
                     public byte IsPOD;
@@ -10621,7 +10644,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(316)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(328)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10667,19 +10690,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(332);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10701,7 +10724,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(332);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10713,7 +10736,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10721,15 +10744,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10738,19 +10761,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10760,16 +10783,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10777,12 +10800,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10790,7 +10813,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 332)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10802,7 +10825,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -10811,13 +10834,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -10835,7 +10858,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -10844,49 +10867,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(260)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(272)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(284)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(296)]
                     public byte IsPOD;
@@ -10922,7 +10945,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(316)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(328)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10948,19 +10971,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(332);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10982,7 +11005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(332);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10994,7 +11017,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11002,7 +11025,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11011,7 +11034,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 156)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11023,7 +11046,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11032,13 +11055,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -11056,7 +11079,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -11068,10 +11091,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -11114,19 +11137,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(156);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11148,7 +11171,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(156);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11160,7 +11183,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11168,14 +11191,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11189,19 +11212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11210,13 +11233,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(4)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(16)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11273,19 +11296,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11304,7 +11327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11315,7 +11338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11328,15 +11351,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11345,19 +11368,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11367,16 +11390,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11385,16 +11408,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11402,12 +11425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11415,7 +11438,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 156)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11427,7 +11450,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11436,13 +11459,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -11460,7 +11483,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -11472,10 +11495,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(132)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -11518,19 +11541,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(156);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11552,7 +11575,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(156);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11564,7 +11587,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11572,14 +11595,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11593,19 +11616,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11614,7 +11637,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 180)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11626,7 +11649,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11635,13 +11658,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -11659,7 +11682,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -11668,16 +11691,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(152)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(160)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(176)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11723,19 +11746,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(180);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11757,7 +11780,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(180);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11769,7 +11792,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11777,15 +11800,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11794,19 +11817,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11816,16 +11839,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11833,12 +11856,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11846,7 +11869,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 180)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11858,7 +11881,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -11867,13 +11890,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -11891,7 +11914,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -11900,16 +11923,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(152)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(160)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(176)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11935,19 +11958,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(180);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11969,7 +11992,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(180);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11981,7 +12004,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11989,7 +12012,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11998,7 +12021,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 252)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12010,7 +12033,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -12019,13 +12042,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -12043,7 +12066,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -12052,34 +12075,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
@@ -12108,19 +12131,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(252);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12142,7 +12165,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(252);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12154,7 +12177,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12162,7 +12185,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12171,12 +12194,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12184,7 +12207,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12219,19 +12242,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12250,7 +12273,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12258,7 +12281,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12278,12 +12301,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12291,12 +12314,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12304,12 +12327,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12317,7 +12340,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 68)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12329,10 +12352,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(12)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.basic_string.Internal Expression;
+                    public global::std.basic_string.__Internal Expression;
 
                     [FieldOffset(60)]
                     public int LineNumberStart;
@@ -12381,19 +12404,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(68);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12415,7 +12438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(68);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12427,7 +12450,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12435,7 +12458,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12444,14 +12467,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12459,14 +12482,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12474,12 +12497,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12487,12 +12510,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12500,7 +12523,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12512,10 +12535,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(12)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(36)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(60)]
                     public global::System.IntPtr Definition;
@@ -12561,19 +12584,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12595,7 +12618,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12607,7 +12630,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12615,7 +12638,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12624,14 +12647,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12639,14 +12662,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12655,16 +12678,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12672,7 +12695,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 292)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12684,7 +12707,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(12)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(16)]
                     public int LineNumberStart;
@@ -12693,13 +12716,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(72)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(96)]
                     public byte IsIncomplete;
@@ -12717,7 +12740,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(108)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(120)]
                     public global::System.IntPtr OriginalPtr;
@@ -12726,34 +12749,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(140)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(164)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(188)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(212)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(236)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(244)]
                     public byte IsAnonymous;
@@ -12762,13 +12785,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(252)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(276)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(280)]
-                    internal global::std.vector.Internal Macros;
+                    internal global::std.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -12821,19 +12844,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(292);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12855,7 +12878,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(292);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12867,7 +12890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12875,14 +12898,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12896,26 +12919,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12923,7 +12946,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12932,12 +12955,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12945,19 +12968,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 52)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(28)]
-                    internal global::std.vector.Internal Symbols;
+                    internal global::std.vector.__Internal Symbols;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Dependencies;
+                    internal global::std.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -13038,19 +13061,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(52);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13069,7 +13092,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(52);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13080,7 +13103,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13093,57 +13116,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13151,7 +13174,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13160,7 +13183,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13169,12 +13192,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13182,10 +13205,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal TranslationUnits;
+                    internal global::std.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -13236,19 +13259,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13267,7 +13290,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13278,7 +13301,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13291,14 +13314,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13312,19 +13335,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13333,7 +13356,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13362,19 +13385,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13394,7 +13417,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13402,7 +13425,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13422,12 +13445,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13435,7 +13458,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13461,19 +13484,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13495,7 +13518,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13505,7 +13528,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13514,20 +13537,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(4)]
-                    internal global::std.vector.Internal Blocks;
+                    internal global::std.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -13570,19 +13593,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13604,7 +13627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13616,7 +13639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13624,14 +13647,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13645,19 +13668,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13666,7 +13689,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13695,19 +13718,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13729,7 +13752,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13739,7 +13762,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13748,19 +13771,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13768,7 +13791,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 20)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13777,7 +13800,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Content;
+                    internal global::std.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -13820,19 +13843,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(20);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13854,7 +13877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(20);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13866,7 +13889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13874,14 +13897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13895,19 +13918,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13916,12 +13939,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13929,7 +13952,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13941,7 +13964,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -13987,10 +14010,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14031,19 +14054,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(24);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14062,7 +14085,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(24);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14073,7 +14096,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14086,7 +14109,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14095,14 +14118,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14112,19 +14135,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14146,7 +14169,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14156,7 +14179,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14168,7 +14191,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14176,15 +14199,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14193,19 +14216,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14214,12 +14237,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14228,16 +14251,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14245,7 +14268,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14257,7 +14280,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14293,19 +14316,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14327,7 +14350,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14339,7 +14362,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14347,7 +14370,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14356,12 +14379,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14369,12 +14392,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14382,7 +14405,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14394,10 +14417,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    internal global::std.vector.Internal Position;
+                    internal global::std.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14440,19 +14463,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14474,7 +14497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(36);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14486,7 +14509,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14494,14 +14517,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14510,20 +14533,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14532,13 +14555,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14571,19 +14594,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14605,7 +14628,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14617,7 +14640,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14625,7 +14648,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14634,14 +14657,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14649,7 +14672,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 36)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14661,10 +14684,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    internal global::std.vector.Internal Lines;
+                    internal global::std.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14707,19 +14730,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(36);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14741,7 +14764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(36);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14753,7 +14776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14761,14 +14784,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14782,19 +14805,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14803,7 +14826,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14815,10 +14838,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(12)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14851,19 +14874,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14885,7 +14908,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14897,7 +14920,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14905,7 +14928,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14914,14 +14937,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14929,7 +14952,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 28)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14944,7 +14967,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -14993,10 +15016,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -15037,19 +15060,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(24);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15068,7 +15091,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(24);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15079,7 +15102,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15092,7 +15115,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15101,14 +15124,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15118,19 +15141,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(28);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15152,7 +15175,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(28);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15164,7 +15187,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15172,15 +15195,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15189,19 +15212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15210,12 +15233,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15223,12 +15246,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15236,7 +15259,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15265,19 +15288,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15299,7 +15322,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15309,7 +15332,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15318,14 +15341,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 44)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15334,10 +15357,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Attributes;
+                    internal global::std.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -15388,13 +15411,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 48)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(24)]
-                        public global::std.basic_string.Internal Value;
+                        public global::std.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -15445,19 +15468,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(48);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15476,7 +15499,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(48);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15487,7 +15510,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15500,7 +15523,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15509,14 +15532,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15524,14 +15547,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15541,19 +15564,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(44);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15575,7 +15598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(44);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15587,7 +15610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15595,15 +15618,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15612,26 +15635,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15639,7 +15662,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15648,7 +15671,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15657,7 +15680,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -15690,19 +15713,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15724,7 +15747,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15736,7 +15759,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15744,7 +15767,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15753,14 +15776,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15768,7 +15791,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15777,7 +15800,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -15810,19 +15833,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15844,7 +15867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15856,7 +15879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15864,7 +15887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15873,14 +15896,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15888,16 +15911,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(4)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(28)]
-                    public global::std.basic_string.Internal BriefText;
+                    public global::std.basic_string.__Internal BriefText;
 
                     [FieldOffset(52)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15951,19 +15974,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15982,7 +16005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15993,7 +16016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16006,7 +16029,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16015,14 +16038,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16030,14 +16053,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16045,12 +16068,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16059,16 +16082,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16083,7 +16106,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16104,20 +16127,20 @@ namespace CppSharp
                 internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16125,15 +16148,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16142,9 +16165,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16186,10 +16209,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 176)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal ABI;
+                public global::std.basic_string.__Internal ABI;
 
                 [FieldOffset(24)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16344,19 +16367,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(176);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16375,7 +16398,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(176);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16386,7 +16409,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16399,7 +16422,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16408,14 +16431,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16423,12 +16446,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16436,12 +16459,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16449,12 +16472,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16462,12 +16485,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16475,12 +16498,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16488,12 +16511,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16501,12 +16524,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16514,12 +16537,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16527,12 +16550,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16540,12 +16563,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16553,12 +16576,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16566,12 +16589,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16579,12 +16602,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16592,12 +16615,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16605,12 +16628,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16618,12 +16641,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16631,12 +16654,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16644,12 +16667,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16657,12 +16680,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16670,12 +16693,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16683,12 +16706,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16696,12 +16719,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16709,12 +16732,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16722,12 +16745,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16735,12 +16758,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16748,12 +16771,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16761,12 +16784,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16774,12 +16797,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16787,12 +16810,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16800,12 +16823,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16813,12 +16836,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16826,12 +16849,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16839,12 +16862,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16852,12 +16875,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16865,12 +16888,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16878,12 +16901,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16891,12 +16914,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16904,12 +16927,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16964,31 +16987,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 156)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.vector.Internal Arguments;
+                internal global::std.vector.__Internal Arguments;
 
                 [FieldOffset(12)]
-                public global::std.basic_string.Internal LibraryFile;
+                public global::std.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(36)]
-                internal global::std.vector.Internal SourceFiles;
+                internal global::std.vector.__Internal SourceFiles;
 
                 [FieldOffset(48)]
-                internal global::std.vector.Internal IncludeDirs;
+                internal global::std.vector.__Internal IncludeDirs;
 
                 [FieldOffset(60)]
-                internal global::std.vector.Internal SystemIncludeDirs;
+                internal global::std.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(72)]
-                internal global::std.vector.Internal Defines;
+                internal global::std.vector.__Internal Defines;
 
                 [FieldOffset(84)]
-                internal global::std.vector.Internal Undefines;
+                internal global::std.vector.__Internal Undefines;
 
                 [FieldOffset(96)]
-                internal global::std.vector.Internal LibraryDirs;
+                internal global::std.vector.__Internal LibraryDirs;
 
                 [FieldOffset(108)]
                 public global::System.IntPtr ASTContext;
@@ -16997,7 +17020,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(116)]
-                public global::std.basic_string.Internal TargetTriple;
+                public global::std.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(140)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17209,19 +17232,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(156);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17240,7 +17263,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(156);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17251,7 +17274,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17264,135 +17287,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17401,14 +17424,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17416,7 +17439,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17425,7 +17448,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17434,7 +17457,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17443,7 +17466,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17452,7 +17475,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17461,7 +17484,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17470,14 +17493,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17486,16 +17509,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17503,12 +17526,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17516,12 +17539,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17529,12 +17552,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17542,12 +17565,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17555,12 +17578,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17568,12 +17591,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17581,12 +17604,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17595,16 +17618,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17612,13 +17635,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 60)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal FileName;
+                public global::std.basic_string.__Internal FileName;
 
                 [FieldOffset(24)]
-                public global::std.basic_string.Internal Message;
+                public global::std.basic_string.__Internal Message;
 
                 [FieldOffset(48)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17678,19 +17701,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(60);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17709,7 +17732,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(60);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17720,7 +17743,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17733,7 +17756,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17742,14 +17765,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17757,14 +17780,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17772,12 +17795,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17785,12 +17808,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17798,12 +17821,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17811,13 +17834,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 28)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(4)]
-                internal global::std.vector.Internal Diagnostics;
+                internal global::std.vector.__Internal Diagnostics;
 
                 [FieldOffset(16)]
                 public global::System.IntPtr ASTContext;
@@ -17877,19 +17900,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(28);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17908,7 +17931,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(28);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17919,7 +17942,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17932,15 +17955,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17949,19 +17972,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17970,12 +17993,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17984,16 +18007,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18002,16 +18025,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18019,7 +18042,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -18055,19 +18078,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18093,7 +18116,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18112,7 +18135,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18124,7 +18147,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18136,7 +18159,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
index bbe9908f..0b789970 100644
--- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
+++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
@@ -8,10 +8,18 @@ using System;
 using System.Runtime.InteropServices;
 using System.Security;
 
+namespace __vcrt_va_list_is_reference
+{
+    [StructLayout(LayoutKind.Explicit, Size = 0)]
+    public unsafe partial struct __Internal
+    {
+    }
+}
+
 public unsafe partial class __crt_locale_data_public
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _locale_pctype;
@@ -27,7 +35,7 @@ public unsafe partial class __crt_locale_data_public
 public unsafe partial class __crt_locale_pointers
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr locinfo;
@@ -40,7 +48,7 @@ public unsafe partial class __crt_locale_pointers
 public unsafe partial class _Mbstatet
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Wchar;
@@ -63,7 +71,7 @@ namespace std
     public unsafe partial class _Lockit
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Locktype;
@@ -73,7 +81,7 @@ namespace std
     public unsafe partial class _Init_locks
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -82,7 +90,7 @@ namespace std
 public unsafe partial class _div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -95,7 +103,7 @@ public unsafe partial class _div_t
 public unsafe partial class _ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -108,7 +116,7 @@ public unsafe partial class _ldiv_t
 public unsafe partial class _lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -121,7 +129,7 @@ public unsafe partial class _lldiv_t
 public unsafe partial class _LDOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 10)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte ld[10];
@@ -158,7 +166,7 @@ public unsafe partial class _LDOUBLE
 public unsafe partial class _CRT_DOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public double x;
@@ -168,7 +176,7 @@ public unsafe partial class _CRT_DOUBLE
 public unsafe partial class _CRT_FLOAT
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public float f;
@@ -178,7 +186,7 @@ public unsafe partial class _CRT_FLOAT
 public unsafe partial class _LONGDOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
     }
 }
@@ -186,7 +194,7 @@ public unsafe partial class _LONGDOUBLE
 public unsafe partial class _LDBL12
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte ld12[12];
@@ -229,7 +237,7 @@ public unsafe partial class _LDBL12
 public unsafe partial struct _Dconst
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Word[8];
@@ -266,7 +274,7 @@ public unsafe partial struct _Dconst
 namespace _Combined_type
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -274,7 +282,7 @@ namespace _Combined_type
 namespace _Real_widened
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -282,7 +290,7 @@ namespace _Real_widened
 namespace _Real_type
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -290,7 +298,7 @@ namespace _Real_type
 public unsafe partial class _exception
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int type;
@@ -312,7 +320,7 @@ public unsafe partial class _exception
 public unsafe partial class _complex
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public double x;
@@ -325,7 +333,7 @@ public unsafe partial class _complex
 public unsafe partial struct _double_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[4];
@@ -347,7 +355,7 @@ public unsafe partial struct _double_val
 public unsafe partial struct _float_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[2];
@@ -363,7 +371,7 @@ public unsafe partial struct _float_val
 public unsafe partial struct _ldouble_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[4];
@@ -382,7 +390,7 @@ public unsafe partial struct _ldouble_val
 public unsafe partial struct _float_const
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Word[4];
@@ -413,7 +421,7 @@ namespace std
     namespace integral_constant
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -421,7 +429,7 @@ namespace std
     namespace _Is_integral
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -429,7 +437,15 @@ namespace std
     namespace _Is_floating_point
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -437,7 +453,7 @@ namespace std
     public unsafe partial class _Nil
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -445,7 +461,7 @@ namespace std
     public unsafe partial class _Wrap_int
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -454,7 +470,7 @@ namespace std
 public unsafe partial class _wfinddata32_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 540)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -1256,7 +1272,7 @@ public unsafe partial class _wfinddata32_t
 public unsafe partial class _wfinddata32i64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 544)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -2058,7 +2074,7 @@ public unsafe partial class _wfinddata32i64_t
 public unsafe partial class _wfinddata64i32_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 560)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -2860,7 +2876,7 @@ public unsafe partial class _wfinddata64i32_t
 public unsafe partial class _wfinddata64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 560)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -3662,7 +3678,7 @@ public unsafe partial class _wfinddata64_t
 public unsafe partial class _iobuf
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _Placeholder;
@@ -3672,7 +3688,7 @@ public unsafe partial class _iobuf
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 36)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -3706,7 +3722,7 @@ public unsafe partial class tm
 public unsafe partial class _stat32
 {
     [StructLayout(LayoutKind.Explicit, Size = 36)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3746,7 +3762,7 @@ public unsafe partial class _stat32
 public unsafe partial class _stat32i64
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3786,7 +3802,7 @@ public unsafe partial class _stat32i64
 public unsafe partial class _stat64i32
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3826,7 +3842,7 @@ public unsafe partial class _stat64i32
 public unsafe partial class _stat64
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3866,7 +3882,7 @@ public unsafe partial class _stat64
 public unsafe partial class stat
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3912,7 +3928,7 @@ namespace std
     namespace _If
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3920,7 +3936,7 @@ namespace std
     namespace plus
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3928,7 +3944,7 @@ namespace std
     namespace minus
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3936,7 +3952,7 @@ namespace std
     namespace multiplies
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3944,7 +3960,7 @@ namespace std
     namespace equal_to
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3952,7 +3968,7 @@ namespace std
     namespace less
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3960,7 +3976,7 @@ namespace std
     namespace _Bitwise_hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3968,7 +3984,7 @@ namespace std
     namespace hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3995,7 +4011,7 @@ namespace std
     namespace numeric_limits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4003,7 +4019,7 @@ namespace std
     public unsafe partial class _Num_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4011,7 +4027,7 @@ namespace std
     public unsafe partial class _Num_int_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4019,7 +4035,7 @@ namespace std
     public unsafe partial class _Num_float_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4027,10 +4043,50 @@ namespace std
 
 namespace std
 {
+    namespace _Is_memfunptr
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
     namespace is_void
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_lvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_rvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace _Is_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4038,7 +4094,7 @@ namespace std
     namespace integer_sequence
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4046,7 +4102,7 @@ namespace std
     public unsafe partial class _Invoker_pmf_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4054,7 +4110,7 @@ namespace std
     public unsafe partial class _Invoker_pmf_pointer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4062,7 +4118,7 @@ namespace std
     public unsafe partial class _Invoker_pmd_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4070,7 +4126,7 @@ namespace std
     public unsafe partial class _Invoker_pmd_pointer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4078,7 +4134,7 @@ namespace std
     public unsafe partial class _Invoker_functor
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4086,7 +4142,7 @@ namespace std
     public unsafe partial class _Unforced
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4094,7 +4150,7 @@ namespace std
     public unsafe partial class _Unique_tag_result_of
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4102,7 +4158,7 @@ namespace std
     public unsafe partial class _Swappable_with_helper_unique_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4113,7 +4169,7 @@ namespace std
     public unsafe partial class exception_ptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Data1;
@@ -4126,13 +4182,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_nested_exception;
 
             [FieldOffset(4)]
-            internal global::std.exception_ptr.Internal _Exc;
+            internal global::std.exception_ptr.__Internal _Exc;
         }
     }
 }
@@ -4140,7 +4196,7 @@ namespace std
 public unsafe partial class _heapinfo
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _pentry;
@@ -4156,7 +4212,7 @@ public unsafe partial class _heapinfo
 public unsafe partial class __std_exception_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _What;
@@ -4171,52 +4227,52 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -4226,7 +4282,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4235,7 +4291,7 @@ namespace std
 public unsafe partial class _CrtMemState
 {
     [StructLayout(LayoutKind.Explicit, Size = 52)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr pBlockHeader;
@@ -4283,7 +4339,7 @@ namespace std
     namespace _Char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4291,7 +4347,7 @@ namespace std
     namespace char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4302,7 +4358,7 @@ namespace std
     public unsafe partial class piecewise_construct_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4317,7 +4373,7 @@ namespace std
     namespace _Yarn
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internalc__N_std_S__Yarn__C
+        public unsafe partial struct __Internalc__N_std_S__Yarn__C
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myptr;
@@ -4327,7 +4383,7 @@ namespace std
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internalc__N_std_S__Yarn__W
+        public unsafe partial struct __Internalc__N_std_S__Yarn__W
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myptr;
@@ -4340,311 +4396,327 @@ namespace std
     namespace _Compressed_pair
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Tree_val.Internal _Myval2;
+            internal global::std._Tree_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
     }
 
     namespace iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace iterator_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace _Ptr_cat_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4652,7 +4724,7 @@ namespace std
     namespace _Is_character
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4660,7 +4732,7 @@ namespace std
     public unsafe partial class _Container_base0
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4668,7 +4740,7 @@ namespace std
     public unsafe partial class _Iterator_base0
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4676,7 +4748,7 @@ namespace std
     public unsafe partial class _Container_proxy
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Mycont;
@@ -4689,7 +4761,7 @@ namespace std
     public unsafe partial class _Container_base12
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myproxy;
@@ -4699,7 +4771,7 @@ namespace std
     public unsafe partial class _Iterator_base12
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myproxy;
@@ -4712,7 +4784,7 @@ namespace std
     public unsafe partial class _Zero_then_variadic_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4720,7 +4792,7 @@ namespace std
     public unsafe partial class _One_then_variadic_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4728,7 +4800,7 @@ namespace std
     public unsafe partial class input_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4736,7 +4808,7 @@ namespace std
     public unsafe partial class _Mutable_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4744,7 +4816,7 @@ namespace std
     public unsafe partial class output_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4752,7 +4824,7 @@ namespace std
     public unsafe partial class forward_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4760,7 +4832,7 @@ namespace std
     public unsafe partial class bidirectional_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4768,7 +4840,7 @@ namespace std
     public unsafe partial class random_access_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4776,7 +4848,7 @@ namespace std
     public unsafe partial class _General_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4784,7 +4856,7 @@ namespace std
     public unsafe partial class _Trivially_copyable_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4792,7 +4864,7 @@ namespace std
     public unsafe partial class _Really_trivial_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4800,7 +4872,7 @@ namespace std
     public unsafe partial class _Any_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4808,7 +4880,7 @@ namespace std
     public unsafe partial class allocator_arg_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4819,7 +4891,7 @@ namespace std
     public unsafe partial class allocator : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -4840,19 +4912,19 @@ namespace std
             return new allocator(native.ToPointer(), skipVTables);
         }
 
-        public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+        public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
         {
             return new allocator(native, skipVTables);
         }
 
-        private static void* __CopyValue(allocator.Internal native)
+        private static void* __CopyValue(allocator.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(0);
-            *(allocator.Internal*) ret = native;
+            *(allocator.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private allocator(allocator.Internal native, bool skipVTables = false)
+        private allocator(allocator.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -4871,7 +4943,7 @@ namespace std
             __Instance = Marshal.AllocHGlobal(0);
             __ownsNativeInstance = true;
             NativeToManagedMap[__Instance] = this;
-            Internal.ctor_0((__Instance + __PointerAdjustment));
+            __Internal.ctor_0((__Instance + __PointerAdjustment));
         }
 
         public void Dispose()
@@ -4892,7 +4964,7 @@ namespace std
     public unsafe partial class rebind
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
 
@@ -4900,7 +4972,7 @@ namespace std
     namespace _Wrap_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -4908,7 +4980,7 @@ namespace std
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -4917,7 +4989,7 @@ namespace std
     namespace allocator_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4925,7 +4997,15 @@ namespace std
     namespace _Simple_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace pointer_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4933,7 +5013,7 @@ namespace std
     namespace _Get_voidptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4941,7 +5021,7 @@ namespace std
     public unsafe partial class _Alloc_allocate
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4949,7 +5029,7 @@ namespace std
     public unsafe partial class _Has_no_alloc_construct_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4957,7 +5037,7 @@ namespace std
     public unsafe partial class _Has_no_alloc_destroy_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4965,7 +5045,7 @@ namespace std
     public unsafe partial class _Alloc_max_size
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4973,7 +5053,7 @@ namespace std
     public unsafe partial class _Alloc_select
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4995,7 +5075,7 @@ namespace std
 public unsafe partial class __JUMP_BUFFER
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint Ebp;
@@ -5050,7 +5130,7 @@ public unsafe partial class __JUMP_BUFFER
 public unsafe partial struct __m256
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed float m256_f32[8];
@@ -5081,7 +5161,7 @@ public unsafe partial struct __m256
 public unsafe partial class __m256d
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed double m256d_f64[4];
@@ -5100,7 +5180,7 @@ public unsafe partial class __m256d
 public unsafe partial struct __m256i
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte m256i_i8[32];
@@ -5467,7 +5547,7 @@ public unsafe partial struct __m256i
 public unsafe partial struct __m128i
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte m128i_i8[16];
@@ -5654,7 +5734,7 @@ public unsafe partial struct __m128i
 public unsafe partial class __m128d
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed double m128d_f64[2];
@@ -5667,7 +5747,7 @@ public unsafe partial class __m128d
 public unsafe partial struct __m128
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed float m128_f32[4];
@@ -5866,7 +5946,7 @@ public unsafe partial struct __m128
 public unsafe partial struct __m64
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong m64_u64;
@@ -5975,10 +6055,10 @@ namespace std
     public unsafe partial class basic_string : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
 
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@@ -6004,19 +6084,19 @@ namespace std
             return new basic_string(native.ToPointer(), skipVTables);
         }
 
-        public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+        public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
         {
             return new basic_string(native, skipVTables);
         }
 
-        private static void* __CopyValue(basic_string.Internal native)
+        private static void* __CopyValue(basic_string.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(24);
-            *(basic_string.Internal*) ret = native;
+            *(basic_string.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private basic_string(basic_string.Internal native, bool skipVTables = false)
+        private basic_string(basic_string.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -6040,14 +6120,14 @@ namespace std
             global::std.basic_string __dummy;
             NativeToManagedMap.TryRemove(__Instance, out __dummy);
             if (disposing)
-                Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
             if (__ownsNativeInstance)
                 Marshal.FreeHGlobal(__Instance);
         }
 
         public string c_str()
         {
-            var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+            var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
             return Marshal.PtrToStringAnsi(__ret);
         }
     }
@@ -6055,20 +6135,20 @@ namespace std
     namespace _String_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
         }
     }
 
     namespace _String_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._String_val._Bxty.Internal _Bx;
+            internal global::std._String_val._Bxty.__Internal _Bx;
 
             [FieldOffset(16)]
             public uint _Mysize;
@@ -6081,7 +6161,7 @@ namespace std
         public unsafe partial struct _Bxty
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6090,7 +6170,7 @@ namespace std
     namespace _String_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6101,117 +6181,117 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -6221,7 +6301,7 @@ namespace std
     namespace _Vec_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6229,7 +6309,7 @@ namespace std
     namespace _Vector_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myfirst;
@@ -6245,20 +6325,20 @@ namespace std
     namespace _Vector_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
         }
     }
 
     namespace vector
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
         }
     }
 }
@@ -6268,7 +6348,7 @@ namespace std
     public unsafe partial class _Ignore
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6276,7 +6356,7 @@ namespace std
     public unsafe partial class _Tuple_alloc_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6284,7 +6364,7 @@ namespace std
     public unsafe partial class _Exact_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6292,7 +6372,7 @@ namespace std
     public unsafe partial class _Unpack_tuple_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6300,7 +6380,7 @@ namespace std
     public unsafe partial class _Alloc_exact_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6308,7 +6388,7 @@ namespace std
     public unsafe partial class _Alloc_unpack_tuple_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6319,7 +6399,7 @@ namespace std
     namespace _Tree_simple_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6327,7 +6407,7 @@ namespace std
     namespace _Tree_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6335,7 +6415,7 @@ namespace std
     namespace _Tree_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myhead;
@@ -6348,27 +6428,27 @@ namespace std
     namespace _Tree_comp_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
     }
 
     namespace _Tree
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
 
 
         public unsafe partial class _Copy_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -6377,7 +6457,7 @@ namespace std
         public unsafe partial class _Move_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6389,7 +6469,7 @@ namespace std
     namespace _Tmap_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -6397,7 +6477,7 @@ namespace std
         public unsafe partial class value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6406,10 +6486,10 @@ namespace std
     namespace map
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
     }
 }
@@ -6417,7 +6497,7 @@ namespace std
 public unsafe partial class __std_type_info_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _UndecoratedName;
@@ -6430,13 +6510,13 @@ public unsafe partial class __std_type_info_data
 public unsafe partial class type_info
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr vfptr_type_info;
 
         [FieldOffset(4)]
-        internal global::__std_type_info_data.Internal _Data;
+        internal global::__std_type_info_data.__Internal _Data;
     }
 }
 
@@ -6445,39 +6525,39 @@ namespace std
     public unsafe partial class bad_cast
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_typeid
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class __non_rtti_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 12)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -6485,7 +6565,7 @@ namespace std
 public unsafe partial class lconv
 {
     [StructLayout(LayoutKind.Explicit, Size = 80)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr decimal_point;
@@ -6570,7 +6650,7 @@ public unsafe partial class lconv
 public unsafe partial class _Collvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6583,7 +6663,7 @@ public unsafe partial class _Collvec
 public unsafe partial class _Ctypevec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6602,7 +6682,7 @@ public unsafe partial class _Ctypevec
 public unsafe partial class _Cvtvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 44)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6716,7 +6796,7 @@ namespace std
     public unsafe partial class _Timevec
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Timeptr;
@@ -6726,28 +6806,28 @@ namespace std
     public unsafe partial class _Locinfo
     {
         [StructLayout(LayoutKind.Explicit, Size = 52)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Lockit.Internal _Lock;
+            internal global::std._Lockit.__Internal _Lock;
 
             [FieldOffset(4)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Days;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Days;
 
             [FieldOffset(12)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Months;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Months;
 
             [FieldOffset(20)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Days;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__W _W_Days;
 
             [FieldOffset(28)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Months;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__W _W_Months;
 
             [FieldOffset(36)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Oldlocname;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Oldlocname;
 
             [FieldOffset(44)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Newlocname;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Newlocname;
         }
     }
 }
@@ -6757,7 +6837,7 @@ namespace std
     public unsafe abstract partial class _Facet_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6777,7 +6857,7 @@ namespace std
     namespace _Locbase
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6785,7 +6865,7 @@ namespace std
     namespace ctype
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6794,14 +6874,14 @@ namespace std
             public uint _Myrefs;
 
             [FieldOffset(8)]
-            internal global::_Ctypevec.Internal _Ctype;
+            internal global::_Ctypevec.__Internal _Ctype;
         }
     }
 
     namespace codecvt
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6820,7 +6900,7 @@ namespace std
     namespace ctype_byname
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6829,14 +6909,14 @@ namespace std
             public uint _Myrefs;
 
             [FieldOffset(8)]
-            internal global::_Ctypevec.Internal _Ctype;
+            internal global::_Ctypevec.__Internal _Ctype;
         }
     }
 
     public unsafe partial class _Crt_new_delete
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6844,7 +6924,7 @@ namespace std
     public unsafe partial class locale
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(4)]
             public global::System.IntPtr _Ptr;
@@ -6853,7 +6933,7 @@ namespace std
         public unsafe partial class _Locimp
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr__Facet_base;
@@ -6874,14 +6954,14 @@ namespace std
                 public byte _Xparent;
 
                 [FieldOffset(24)]
-                internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Name;
+                internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Name;
             }
         }
 
         public unsafe partial class facet
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr__Facet_base;
@@ -6894,7 +6974,7 @@ namespace std
         public unsafe partial class id
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint _Id;
@@ -6905,7 +6985,7 @@ namespace std
     public unsafe partial class codecvt_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6926,7 +7006,7 @@ namespace std
     public unsafe partial class ctype_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -7045,7 +7125,7 @@ namespace std
     namespace is_error_code_enum
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7053,7 +7133,7 @@ namespace std
     namespace is_error_condition_enum
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7061,7 +7141,7 @@ namespace std
     public unsafe abstract partial class error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7082,7 +7162,7 @@ namespace std
     public unsafe partial class error_code
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Myval;
@@ -7095,7 +7175,7 @@ namespace std
     public unsafe partial class error_condition
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Myval;
@@ -7108,39 +7188,39 @@ namespace std
     public unsafe partial class _System_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 20)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
 
             [FieldOffset(12)]
-            internal global::std.error_code.Internal _Mycode;
+            internal global::std.error_code.__Internal _Mycode;
         }
     }
 
     public unsafe partial class system_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 20)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(4)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
 
             [FieldOffset(12)]
-            internal global::std.error_code.Internal _Mycode;
+            internal global::std.error_code.__Internal _Mycode;
         }
     }
 
     public unsafe partial class _Generic_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7153,7 +7233,7 @@ namespace std
     public unsafe partial class _Iostream_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7166,7 +7246,7 @@ namespace std
     public unsafe partial class _System_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7182,7 +7262,7 @@ namespace std
     namespace _Iosb
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7190,7 +7270,7 @@ namespace std
     public unsafe partial class ios_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 56)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_ios_base;
@@ -7233,7 +7313,7 @@ namespace std
         public unsafe partial class _Iosarray
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _Next;
@@ -7252,7 +7332,7 @@ namespace std
         public unsafe partial class _Fnarray
         {
             [StructLayout(LayoutKind.Explicit, Size = 12)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _Next;
@@ -7268,23 +7348,23 @@ namespace std
         public unsafe partial class failure
         {
             [StructLayout(LayoutKind.Explicit, Size = 20)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr_exception;
 
                 [FieldOffset(4)]
-                internal global::__std_exception_data.Internal _Data;
+                internal global::__std_exception_data.__Internal _Data;
 
                 [FieldOffset(12)]
-                internal global::std.error_code.Internal _Mycode;
+                internal global::std.error_code.__Internal _Mycode;
             }
         }
 
         public unsafe partial class Init
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -7323,7 +7403,7 @@ namespace std
     public unsafe partial class _Rand_urng_from_func
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
index ff78579b..9b508688 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(32)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(24)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.vector.Internal Components;
+                    internal global::std.__1.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3123,7 +3130,7 @@ namespace CppSharp
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
                         EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")]
-                    internal static extern global::CppSharp.Parser.AST.VTableComponent.Internal getComponents_0(global::System.IntPtr instance, uint i);
+                    internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal getComponents_0(global::System.IntPtr instance, uint i);
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,14 +3216,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = Internal.getComponents_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getComponents_0((__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3225,19 +3232,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3246,7 +3253,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3258,7 +3265,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3289,19 +3296,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3320,7 +3327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3331,7 +3338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3344,7 +3351,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3353,12 +3360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3366,12 +3373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3379,12 +3386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3392,12 +3399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3405,16 +3412,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(48)]
                     public global::System.IntPtr FieldPtr;
@@ -3458,19 +3465,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3489,7 +3496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3500,7 +3507,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3513,7 +3520,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3522,14 +3529,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3537,12 +3544,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3550,12 +3557,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3563,12 +3570,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3576,7 +3583,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3613,19 +3620,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3644,7 +3651,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3655,7 +3662,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3668,7 +3675,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3677,12 +3684,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3691,16 +3698,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3708,16 +3715,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal VFTables;
+                    internal global::std.__1.vector.__Internal VFTables;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(56)]
                     public byte HasOwnVFPtr;
@@ -3735,10 +3742,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(88)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(112)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3829,19 +3836,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3860,7 +3867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(136);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3871,7 +3878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3884,15 +3891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3901,18 +3908,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3921,18 +3928,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3941,19 +3948,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3962,7 +3969,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3971,7 +3978,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3980,12 +3987,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3993,12 +4000,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4006,12 +4013,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4019,12 +4026,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4032,12 +4039,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4045,12 +4052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4058,12 +4065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4071,7 +4078,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 168)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4083,7 +4090,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4092,13 +4099,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -4116,7 +4123,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -4203,19 +4210,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(168);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4235,7 +4242,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4246,7 +4253,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4259,14 +4266,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4280,26 +4287,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4307,14 +4314,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4322,14 +4329,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4337,7 +4344,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4346,12 +4353,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4359,12 +4366,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4373,16 +4380,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4390,12 +4397,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4403,12 +4410,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4416,12 +4423,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4429,12 +4436,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4442,12 +4449,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4455,12 +4462,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4469,16 +4476,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4486,12 +4493,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4499,12 +4506,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4513,16 +4520,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4530,7 +4537,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 416)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4542,7 +4549,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4551,13 +4558,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -4575,7 +4582,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -4584,34 +4591,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
@@ -4817,19 +4824,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(416);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4852,7 +4859,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4864,7 +4871,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4872,14 +4879,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4893,17 +4900,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4917,17 +4924,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4941,17 +4948,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4965,17 +4972,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4989,17 +4996,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5013,17 +5020,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5037,17 +5044,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5061,17 +5068,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5085,19 +5092,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5106,7 +5113,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5115,7 +5122,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5124,7 +5131,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5133,7 +5140,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5142,7 +5149,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5151,7 +5158,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5160,7 +5167,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5169,7 +5176,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5178,12 +5185,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5191,7 +5198,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5203,7 +5210,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5212,13 +5219,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -5236,7 +5243,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -5245,7 +5252,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5268,19 +5275,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5303,7 +5310,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5315,7 +5322,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5323,7 +5330,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5332,12 +5339,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5345,7 +5352,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5357,7 +5364,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5366,13 +5373,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -5390,7 +5397,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -5399,7 +5406,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5422,19 +5429,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5456,7 +5463,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(184);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5468,7 +5475,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5476,7 +5483,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5485,7 +5492,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 192)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5497,7 +5504,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5506,13 +5513,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -5530,7 +5537,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -5539,7 +5546,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(184)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5565,19 +5572,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(192);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5599,7 +5606,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(192);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5611,7 +5618,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5619,7 +5626,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5629,16 +5636,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5646,7 +5653,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 176)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5658,7 +5665,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5667,13 +5674,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -5691,7 +5698,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -5723,19 +5730,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(176);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5757,7 +5764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(176);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5769,7 +5776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5777,7 +5784,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5787,16 +5794,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5804,7 +5811,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5813,7 +5820,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5849,19 +5856,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5883,7 +5890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5896,7 +5903,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5905,14 +5912,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5920,12 +5927,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5934,16 +5941,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5951,7 +5958,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5960,7 +5967,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5978,19 +5985,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6015,7 +6022,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6023,7 +6030,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6032,7 +6039,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6041,7 +6048,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(40)]
                     public global::System.IntPtr LHS;
@@ -6050,7 +6057,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal OpcodeStr;
+                    public global::std.__1.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6078,19 +6085,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6115,7 +6122,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6123,7 +6130,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6132,14 +6139,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6148,16 +6155,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6166,16 +6173,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6183,7 +6190,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6192,10 +6199,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(40)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6233,19 +6240,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6270,7 +6277,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6278,14 +6285,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6299,19 +6306,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6320,7 +6327,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6329,10 +6336,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__1.basic_string.Internal String;
+                    public global::std.__1.basic_string.__Internal String;
 
                     [FieldOffset(40)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6370,19 +6377,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6407,7 +6414,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6415,14 +6422,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6436,19 +6443,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6457,7 +6464,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6469,7 +6476,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6478,13 +6485,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -6502,7 +6509,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -6511,7 +6518,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(184)]
                     public byte IsIndirect;
@@ -6546,19 +6553,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6580,7 +6587,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6592,7 +6599,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6600,7 +6607,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6609,12 +6616,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6622,12 +6629,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6635,12 +6642,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6648,12 +6655,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6662,16 +6669,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6679,7 +6686,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 296)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6691,7 +6698,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6700,13 +6707,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -6724,7 +6731,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -6733,7 +6740,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(184)]
                     public byte IsReturnIndirect;
@@ -6757,16 +6764,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(200)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::std.__1.basic_string.Internal Signature;
+                    public global::std.__1.basic_string.__Internal Signature;
 
                     [FieldOffset(248)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(256)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(280)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6835,19 +6842,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(296);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6869,7 +6876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(296);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6881,7 +6888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6889,14 +6896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6910,26 +6917,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6937,14 +6944,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6952,7 +6959,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6961,12 +6968,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6974,12 +6981,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6987,12 +6994,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7000,12 +7007,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7013,12 +7020,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7026,12 +7033,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7039,12 +7046,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7052,12 +7059,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7065,12 +7072,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7079,16 +7086,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7097,24 +7104,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 328)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 336)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7126,7 +7133,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7135,13 +7142,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -7159,7 +7166,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -7168,7 +7175,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(184)]
                     public byte IsReturnIndirect;
@@ -7192,16 +7199,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(200)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::std.__1.basic_string.Internal Signature;
+                    public global::std.__1.basic_string.__Internal Signature;
 
                     [FieldOffset(248)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(256)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(280)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7237,7 +7244,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(312)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(328)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7260,19 +7270,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(328);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(336);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7291,22 +7301,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(328);
+                    __Instance = Marshal.AllocHGlobal(336);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(328);
+                    __Instance = Marshal.AllocHGlobal(336);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7314,7 +7324,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7323,12 +7333,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7336,12 +7346,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7349,12 +7359,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7362,12 +7372,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7375,12 +7385,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7388,12 +7398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7401,12 +7411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7414,12 +7424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7427,12 +7437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7440,12 +7450,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7453,7 +7476,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 456)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7465,7 +7488,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7474,13 +7497,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -7498,7 +7521,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -7507,34 +7530,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
@@ -7549,7 +7572,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(432)]
-                    internal global::std.__1.vector.Internal Items;
+                    internal global::std.__1.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7598,7 +7621,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 200)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7610,7 +7633,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(16)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(20)]
                         public int LineNumberStart;
@@ -7619,13 +7642,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(32)]
-                        public global::std.__1.basic_string.Internal Name;
+                        public global::std.__1.basic_string.__Internal Name;
 
                         [FieldOffset(56)]
-                        public global::std.__1.basic_string.Internal USR;
+                        public global::std.__1.basic_string.__Internal USR;
 
                         [FieldOffset(80)]
-                        public global::std.__1.basic_string.Internal DebugText;
+                        public global::std.__1.basic_string.__Internal DebugText;
 
                         [FieldOffset(104)]
                         public byte IsIncomplete;
@@ -7643,7 +7666,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(128)]
-                        internal global::std.__1.vector.Internal PreprocessedEntities;
+                        internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(152)]
                         public global::System.IntPtr OriginalPtr;
@@ -7652,7 +7675,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(168)]
-                        public global::std.__1.basic_string.Internal Expression;
+                        public global::std.__1.basic_string.__Internal Expression;
 
                         [FieldOffset(192)]
                         public ulong Value;
@@ -7688,19 +7711,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(200);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7722,7 +7745,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(200);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7734,7 +7757,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7742,7 +7765,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7751,14 +7774,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7766,12 +7789,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7781,19 +7804,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(456);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7815,7 +7838,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(456);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7827,7 +7850,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7835,14 +7858,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7856,19 +7879,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7877,12 +7900,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7891,16 +7914,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7909,16 +7932,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7926,7 +7949,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7938,7 +7961,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7947,13 +7970,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -7971,7 +7994,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -7980,10 +8003,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8016,19 +8039,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8050,7 +8073,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(208);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8062,7 +8085,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8070,7 +8093,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8079,14 +8102,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8094,12 +8117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8107,7 +8130,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8145,19 +8168,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8176,7 +8199,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8184,7 +8207,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8204,12 +8227,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8217,12 +8240,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8231,16 +8254,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8248,12 +8271,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8261,7 +8284,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8273,7 +8296,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8282,13 +8305,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -8306,7 +8329,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -8315,7 +8338,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(184)]
                     public global::System.IntPtr Class;
@@ -8347,19 +8370,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8381,7 +8404,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8393,7 +8416,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8401,7 +8424,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8410,12 +8433,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8424,16 +8447,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8441,12 +8464,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8454,12 +8477,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8467,7 +8490,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 168)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8479,7 +8502,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8488,13 +8511,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -8512,7 +8535,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -8541,19 +8564,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(168);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8575,7 +8598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(168);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8587,7 +8610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8595,7 +8618,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8604,7 +8627,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 536)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8616,7 +8639,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8625,13 +8648,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -8649,7 +8672,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -8658,49 +8681,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
 
                     [FieldOffset(416)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(440)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(464)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(488)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(512)]
                     public byte IsPOD;
@@ -8833,19 +8856,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(536);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8867,7 +8890,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(536);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8879,7 +8902,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8887,14 +8910,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8908,17 +8931,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8932,17 +8955,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8956,17 +8979,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8980,19 +9003,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9001,7 +9024,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9010,7 +9033,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9019,7 +9042,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9028,12 +9051,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9041,12 +9064,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9054,12 +9077,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9067,12 +9090,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9080,12 +9103,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9093,12 +9116,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9106,12 +9129,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9119,12 +9142,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9132,12 +9155,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9146,16 +9169,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9163,7 +9186,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9175,7 +9198,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9184,13 +9207,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -9208,7 +9231,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -9220,7 +9243,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9268,19 +9291,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9303,7 +9326,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9312,7 +9335,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9324,7 +9347,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9332,14 +9355,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9353,19 +9376,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9375,16 +9398,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9392,7 +9415,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9404,7 +9427,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9413,13 +9436,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -9437,7 +9460,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -9449,7 +9472,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9472,19 +9495,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9506,7 +9529,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9518,7 +9541,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9526,7 +9549,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9535,7 +9558,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9547,7 +9570,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9556,13 +9579,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -9580,7 +9603,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -9618,19 +9641,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9653,7 +9676,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9665,7 +9688,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9673,7 +9696,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9682,12 +9705,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9695,12 +9718,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9708,12 +9731,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9721,7 +9744,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9733,7 +9756,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9742,13 +9765,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -9766,7 +9789,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -9778,7 +9801,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
                     public byte IsParameterPack;
@@ -9810,19 +9833,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9844,7 +9867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(208);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9856,7 +9879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9864,7 +9887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9873,12 +9896,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9886,12 +9909,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9899,12 +9922,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9912,7 +9935,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9924,7 +9947,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9933,13 +9956,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -9957,7 +9980,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -9975,7 +9998,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(184)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9998,19 +10021,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10032,7 +10055,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10044,7 +10067,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10052,7 +10075,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10061,12 +10084,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10074,7 +10097,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10086,7 +10109,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10095,13 +10118,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -10119,7 +10142,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -10169,19 +10192,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10203,7 +10226,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10215,7 +10238,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10223,7 +10246,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10233,16 +10256,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10250,12 +10273,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10263,12 +10286,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10276,12 +10299,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10289,7 +10312,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10301,7 +10324,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10310,13 +10333,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -10334,7 +10357,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -10346,10 +10369,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10392,19 +10415,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10426,7 +10449,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10438,7 +10461,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10446,14 +10469,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10467,19 +10490,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10488,7 +10511,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 576)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10500,7 +10523,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10509,13 +10532,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -10533,7 +10556,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -10542,49 +10565,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
 
                     [FieldOffset(416)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(440)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(464)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(488)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(512)]
                     public byte IsPOD;
@@ -10620,7 +10643,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(544)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(568)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10666,19 +10689,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(576);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10700,7 +10723,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(576);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10712,7 +10735,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10720,15 +10743,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10737,19 +10760,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10759,16 +10782,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10776,12 +10799,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10789,7 +10812,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 576)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10801,7 +10824,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10810,13 +10833,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -10834,7 +10857,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -10843,49 +10866,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
 
                     [FieldOffset(416)]
-                    internal global::std.__1.vector.Internal Bases;
+                    internal global::std.__1.vector.__Internal Bases;
 
                     [FieldOffset(440)]
-                    internal global::std.__1.vector.Internal Fields;
+                    internal global::std.__1.vector.__Internal Fields;
 
                     [FieldOffset(464)]
-                    internal global::std.__1.vector.Internal Methods;
+                    internal global::std.__1.vector.__Internal Methods;
 
                     [FieldOffset(488)]
-                    internal global::std.__1.vector.Internal Specifiers;
+                    internal global::std.__1.vector.__Internal Specifiers;
 
                     [FieldOffset(512)]
                     public byte IsPOD;
@@ -10921,7 +10944,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(544)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(568)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10947,19 +10970,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(576);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10981,7 +11004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(576);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10993,7 +11016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11001,7 +11024,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11010,7 +11033,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11022,7 +11045,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11031,13 +11054,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -11055,7 +11078,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -11067,10 +11090,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11113,19 +11136,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11147,7 +11170,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11159,7 +11182,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11167,14 +11190,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11188,19 +11211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11209,13 +11232,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11272,19 +11295,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11303,7 +11326,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11314,7 +11337,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11327,15 +11350,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11344,19 +11367,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11366,16 +11389,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11384,16 +11407,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11401,12 +11424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11414,7 +11437,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11426,7 +11449,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11435,13 +11458,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -11459,7 +11482,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -11471,10 +11494,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(176)]
-                    internal global::std.__1.vector.Internal Parameters;
+                    internal global::std.__1.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
-                    internal global::std.__1.vector.Internal Specializations;
+                    internal global::std.__1.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11517,19 +11540,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11551,7 +11574,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11563,7 +11586,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11571,14 +11594,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11592,19 +11615,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11613,7 +11636,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11625,7 +11648,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11634,13 +11657,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -11658,7 +11681,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -11667,16 +11690,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(240)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11722,19 +11745,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11756,7 +11779,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11768,7 +11791,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11776,15 +11799,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11793,19 +11816,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11815,16 +11838,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11832,12 +11855,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11845,7 +11868,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11857,7 +11880,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11866,13 +11889,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -11890,7 +11913,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -11899,16 +11922,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    public global::std.__1.basic_string.Internal Mangled;
+                    public global::std.__1.basic_string.__Internal Mangled;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(240)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11934,19 +11957,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11968,7 +11991,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11980,7 +12003,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11988,7 +12011,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11997,7 +12020,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 416)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12009,7 +12032,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12018,13 +12041,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -12042,7 +12065,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -12051,34 +12074,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
@@ -12107,19 +12130,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(416);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12141,7 +12164,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(416);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12153,7 +12176,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12161,7 +12184,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12170,12 +12193,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12183,7 +12206,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12218,19 +12241,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12249,7 +12272,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12257,7 +12280,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12277,12 +12300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12290,12 +12313,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12303,12 +12326,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12316,7 +12339,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12328,10 +12351,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal Expression;
+                    public global::std.__1.basic_string.__Internal Expression;
 
                     [FieldOffset(72)]
                     public int LineNumberStart;
@@ -12380,19 +12403,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12414,7 +12437,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(80);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12426,7 +12449,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12434,7 +12457,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12443,14 +12466,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12458,14 +12481,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12473,12 +12496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12486,12 +12509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12499,7 +12522,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12511,10 +12534,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(48)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [FieldOffset(72)]
                     public global::System.IntPtr Definition;
@@ -12560,19 +12583,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12594,7 +12617,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(80);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12606,7 +12629,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12614,7 +12637,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12623,14 +12646,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12638,14 +12661,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12654,16 +12677,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12671,7 +12694,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 472)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12683,7 +12706,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12692,13 +12715,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal Name;
+                    public global::std.__1.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__1.basic_string.Internal USR;
+                    public global::std.__1.basic_string.__Internal USR;
 
                     [FieldOffset(80)]
-                    public global::std.__1.basic_string.Internal DebugText;
+                    public global::std.__1.basic_string.__Internal DebugText;
 
                     [FieldOffset(104)]
                     public byte IsIncomplete;
@@ -12716,7 +12739,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(128)]
-                    internal global::std.__1.vector.Internal PreprocessedEntities;
+                    internal global::std.__1.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(152)]
                     public global::System.IntPtr OriginalPtr;
@@ -12725,34 +12748,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(168)]
-                    internal global::std.__1.vector.Internal Namespaces;
+                    internal global::std.__1.vector.__Internal Namespaces;
 
                     [FieldOffset(192)]
-                    internal global::std.__1.vector.Internal Enums;
+                    internal global::std.__1.vector.__Internal Enums;
 
                     [FieldOffset(216)]
-                    internal global::std.__1.vector.Internal Functions;
+                    internal global::std.__1.vector.__Internal Functions;
 
                     [FieldOffset(240)]
-                    internal global::std.__1.vector.Internal Classes;
+                    internal global::std.__1.vector.__Internal Classes;
 
                     [FieldOffset(264)]
-                    internal global::std.__1.vector.Internal Templates;
+                    internal global::std.__1.vector.__Internal Templates;
 
                     [FieldOffset(288)]
-                    internal global::std.__1.vector.Internal Typedefs;
+                    internal global::std.__1.vector.__Internal Typedefs;
 
                     [FieldOffset(312)]
-                    internal global::std.__1.vector.Internal TypeAliases;
+                    internal global::std.__1.vector.__Internal TypeAliases;
 
                     [FieldOffset(336)]
-                    internal global::std.__1.vector.Internal Variables;
+                    internal global::std.__1.vector.__Internal Variables;
 
                     [FieldOffset(360)]
-                    internal global::std.__1.vector.Internal Friends;
+                    internal global::std.__1.vector.__Internal Friends;
 
                     [FieldOffset(384)]
-                    internal global::std.__1.map.Internal Anonymous;
+                    internal global::std.__1.map.__Internal Anonymous;
 
                     [FieldOffset(408)]
                     public byte IsAnonymous;
@@ -12761,13 +12784,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(416)]
-                    public global::std.__1.basic_string.Internal FileName;
+                    public global::std.__1.basic_string.__Internal FileName;
 
                     [FieldOffset(440)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(448)]
-                    internal global::std.__1.vector.Internal Macros;
+                    internal global::std.__1.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12820,19 +12843,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(472);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12854,7 +12877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(472);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12866,7 +12889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12874,14 +12897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12895,26 +12918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12922,7 +12945,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12931,12 +12954,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12944,19 +12967,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.__1.basic_string.Internal FileName;
+                    public global::std.__1.basic_string.__Internal FileName;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(32)]
-                    internal global::std.__1.vector.Internal Symbols;
+                    internal global::std.__1.vector.__Internal Symbols;
 
                     [FieldOffset(56)]
-                    internal global::std.__1.vector.Internal Dependencies;
+                    internal global::std.__1.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13037,19 +13060,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13068,7 +13091,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(80);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13079,7 +13102,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13092,57 +13115,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13150,7 +13173,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13159,7 +13182,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13168,12 +13191,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13181,10 +13204,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.vector.Internal TranslationUnits;
+                    internal global::std.__1.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13235,19 +13258,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13266,7 +13289,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13277,7 +13300,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13290,14 +13313,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13311,19 +13334,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13332,7 +13355,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13361,19 +13384,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13393,7 +13416,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13401,7 +13424,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13421,12 +13444,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13434,7 +13457,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13460,19 +13483,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13494,7 +13517,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13504,7 +13527,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13513,20 +13536,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Blocks;
+                    internal global::std.__1.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13569,19 +13592,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13603,7 +13626,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13615,7 +13638,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13623,14 +13646,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13644,19 +13667,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13665,7 +13688,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13694,19 +13717,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13728,7 +13751,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13738,7 +13761,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13747,19 +13770,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13767,7 +13790,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13776,7 +13799,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.__1.vector.Internal Content;
+                    internal global::std.__1.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13819,19 +13842,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13853,7 +13876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13865,7 +13888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13873,14 +13896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13894,19 +13917,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13915,12 +13938,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13928,7 +13951,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13940,7 +13963,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13986,10 +14009,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Text;
+                        public global::std.__1.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14030,19 +14053,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(24);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14061,7 +14084,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(24);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14072,7 +14095,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14085,7 +14108,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14094,14 +14117,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14111,19 +14134,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14145,7 +14168,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14155,7 +14178,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14167,7 +14190,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14175,15 +14198,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14192,19 +14215,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14213,12 +14236,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14227,16 +14250,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14244,7 +14267,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14256,7 +14279,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14292,19 +14315,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14326,7 +14349,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14338,7 +14361,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14346,7 +14369,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14355,12 +14378,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14368,12 +14391,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14381,7 +14404,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14393,10 +14416,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.__1.vector.Internal Position;
+                    internal global::std.__1.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14439,19 +14462,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14473,7 +14496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14485,7 +14508,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14493,14 +14516,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14509,20 +14532,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14531,13 +14554,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14570,19 +14593,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14604,7 +14627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14616,7 +14639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14624,7 +14647,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14633,14 +14656,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14648,7 +14671,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14660,10 +14683,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.__1.vector.Internal Lines;
+                    internal global::std.__1.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14706,19 +14729,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14740,7 +14763,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14752,7 +14775,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14760,14 +14783,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14781,19 +14804,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14802,7 +14825,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14814,10 +14837,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14850,19 +14873,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14884,7 +14907,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14896,7 +14919,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14904,7 +14927,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14913,14 +14936,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14928,7 +14951,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14943,7 +14966,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.__1.vector.Internal Arguments;
+                    internal global::std.__1.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14992,10 +15015,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Text;
+                        public global::std.__1.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15036,19 +15059,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(24);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15067,7 +15090,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(24);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15078,7 +15101,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15091,7 +15114,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15100,14 +15123,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15117,19 +15140,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15151,7 +15174,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15163,7 +15186,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15171,15 +15194,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15188,19 +15211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15209,12 +15232,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15222,12 +15245,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15235,7 +15258,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15264,19 +15287,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15298,7 +15321,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15308,7 +15331,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15317,14 +15340,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15333,10 +15356,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal TagName;
+                    public global::std.__1.basic_string.__Internal TagName;
 
                     [FieldOffset(32)]
-                    internal global::std.__1.vector.Internal Attributes;
+                    internal global::std.__1.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15387,13 +15410,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 48)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__1.basic_string.Internal Name;
+                        public global::std.__1.basic_string.__Internal Name;
 
                         [FieldOffset(24)]
-                        public global::std.__1.basic_string.Internal Value;
+                        public global::std.__1.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15444,19 +15467,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(48);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15475,7 +15498,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(48);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15486,7 +15509,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15499,7 +15522,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15508,14 +15531,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15523,14 +15546,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15540,19 +15563,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15574,7 +15597,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15586,7 +15609,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15594,15 +15617,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15611,26 +15634,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15638,7 +15661,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15647,7 +15670,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15656,7 +15679,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal TagName;
+                    public global::std.__1.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15689,19 +15712,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15723,7 +15746,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15735,7 +15758,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15743,7 +15766,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15752,14 +15775,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15767,7 +15790,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15776,7 +15799,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15809,19 +15832,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15843,7 +15866,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15855,7 +15878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15863,7 +15886,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15872,14 +15895,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15887,16 +15910,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.__1.basic_string.Internal Text;
+                    public global::std.__1.basic_string.__Internal Text;
 
                     [FieldOffset(32)]
-                    public global::std.__1.basic_string.Internal BriefText;
+                    public global::std.__1.basic_string.__Internal BriefText;
 
                     [FieldOffset(56)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15950,19 +15973,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15981,7 +16004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15992,7 +16015,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16005,7 +16028,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16014,14 +16037,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16029,14 +16052,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16044,12 +16067,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16058,16 +16081,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16082,7 +16105,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16103,20 +16126,20 @@ namespace CppSharp
                 internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16124,15 +16147,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16141,9 +16164,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16185,10 +16208,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 176)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__1.basic_string.Internal ABI;
+                public global::std.__1.basic_string.__Internal ABI;
 
                 [FieldOffset(24)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16343,19 +16366,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(176);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16374,7 +16397,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(176);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16385,7 +16408,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16398,7 +16421,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16407,14 +16430,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16422,12 +16445,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16435,12 +16458,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16448,12 +16471,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16461,12 +16484,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16474,12 +16497,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16487,12 +16510,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16500,12 +16523,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16513,12 +16536,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16526,12 +16549,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16539,12 +16562,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16552,12 +16575,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16565,12 +16588,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16578,12 +16601,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16591,12 +16614,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16604,12 +16627,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16617,12 +16640,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16630,12 +16653,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16643,12 +16666,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16656,12 +16679,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16669,12 +16692,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16682,12 +16705,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16695,12 +16718,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16708,12 +16731,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16721,12 +16744,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16734,12 +16757,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16747,12 +16770,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16760,12 +16783,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16773,12 +16796,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16786,12 +16809,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16799,12 +16822,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16812,12 +16835,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16825,12 +16848,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16838,12 +16861,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16851,12 +16874,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16864,12 +16887,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16877,12 +16900,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16890,12 +16913,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16903,12 +16926,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16963,31 +16986,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 256)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.vector.Internal Arguments;
+                internal global::std.__1.vector.__Internal Arguments;
 
                 [FieldOffset(24)]
-                public global::std.__1.basic_string.Internal LibraryFile;
+                public global::std.__1.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(48)]
-                internal global::std.__1.vector.Internal SourceFiles;
+                internal global::std.__1.vector.__Internal SourceFiles;
 
                 [FieldOffset(72)]
-                internal global::std.__1.vector.Internal IncludeDirs;
+                internal global::std.__1.vector.__Internal IncludeDirs;
 
                 [FieldOffset(96)]
-                internal global::std.__1.vector.Internal SystemIncludeDirs;
+                internal global::std.__1.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(120)]
-                internal global::std.__1.vector.Internal Defines;
+                internal global::std.__1.vector.__Internal Defines;
 
                 [FieldOffset(144)]
-                internal global::std.__1.vector.Internal Undefines;
+                internal global::std.__1.vector.__Internal Undefines;
 
                 [FieldOffset(168)]
-                internal global::std.__1.vector.Internal LibraryDirs;
+                internal global::std.__1.vector.__Internal LibraryDirs;
 
                 [FieldOffset(192)]
                 public global::System.IntPtr ASTContext;
@@ -16996,7 +17019,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(208)]
-                public global::std.__1.basic_string.Internal TargetTriple;
+                public global::std.__1.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(232)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17208,19 +17231,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(256);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17239,7 +17262,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(256);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17250,7 +17273,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17263,135 +17286,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17400,14 +17423,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17415,7 +17438,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17424,7 +17447,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17433,7 +17456,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17442,7 +17465,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17451,7 +17474,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17460,7 +17483,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17469,14 +17492,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17485,16 +17508,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17502,12 +17525,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17515,12 +17538,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17528,12 +17551,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17541,12 +17564,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17554,12 +17577,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17567,12 +17590,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17580,12 +17603,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17594,16 +17617,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17611,13 +17634,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 64)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__1.basic_string.Internal FileName;
+                public global::std.__1.basic_string.__Internal FileName;
 
                 [FieldOffset(24)]
-                public global::std.__1.basic_string.Internal Message;
+                public global::std.__1.basic_string.__Internal Message;
 
                 [FieldOffset(48)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17677,19 +17700,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(64);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17708,7 +17731,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(64);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17719,7 +17742,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17732,7 +17755,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17741,14 +17764,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17756,14 +17779,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17771,12 +17794,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17784,12 +17807,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17797,12 +17820,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17810,13 +17833,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 56)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(8)]
-                internal global::std.__1.vector.Internal Diagnostics;
+                internal global::std.__1.vector.__Internal Diagnostics;
 
                 [FieldOffset(32)]
                 public global::System.IntPtr ASTContext;
@@ -17876,19 +17899,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(56);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17907,7 +17930,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(56);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17918,7 +17941,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17931,15 +17954,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17948,19 +17971,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17969,12 +17992,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17983,16 +18006,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18001,16 +18024,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18018,7 +18041,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -18054,19 +18077,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18092,7 +18115,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18111,7 +18134,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18123,7 +18146,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18135,7 +18158,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
index 40ce78f9..58b2ad4c 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
@@ -11,7 +11,7 @@ using System.Security;
 public unsafe partial struct __mbstate_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __mbstate8[128];
@@ -405,7 +405,7 @@ public unsafe partial struct __mbstate_t
 public unsafe partial class __darwin_pthread_handler_rec
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __routine;
@@ -421,7 +421,7 @@ public unsafe partial class __darwin_pthread_handler_rec
 public unsafe partial class _opaque_pthread_attr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -599,7 +599,7 @@ public unsafe partial class _opaque_pthread_attr_t
 public unsafe partial class _opaque_pthread_cond_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -729,7 +729,7 @@ public unsafe partial class _opaque_pthread_cond_t
 public unsafe partial class _opaque_pthread_condattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -763,7 +763,7 @@ public unsafe partial class _opaque_pthread_condattr_t
 public unsafe partial class _opaque_pthread_mutex_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -941,7 +941,7 @@ public unsafe partial class _opaque_pthread_mutex_t
 public unsafe partial class _opaque_pthread_mutexattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -975,7 +975,7 @@ public unsafe partial class _opaque_pthread_mutexattr_t
 public unsafe partial class _opaque_pthread_once_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -1009,7 +1009,7 @@ public unsafe partial class _opaque_pthread_once_t
 public unsafe partial class _opaque_pthread_rwlock_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 200)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -1595,7 +1595,7 @@ public unsafe partial class _opaque_pthread_rwlock_t
 public unsafe partial class _opaque_pthread_rwlockattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -1653,7 +1653,7 @@ public unsafe partial class _opaque_pthread_rwlockattr_t
 public unsafe partial class _opaque_pthread_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 1184)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __sig;
@@ -5176,7 +5176,7 @@ namespace std
     namespace initializer_list
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr __begin_;
@@ -5194,7 +5194,7 @@ namespace std
         namespace conditional
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5202,7 +5202,7 @@ namespace std
         namespace integral_constant
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5210,7 +5210,7 @@ namespace std
         namespace __libcpp_is_void
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5218,7 +5218,7 @@ namespace std
         namespace __is_nullptr_t_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5226,7 +5226,7 @@ namespace std
         namespace __libcpp_is_integral
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5234,7 +5234,55 @@ namespace std
         namespace __libcpp_is_floating_point
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_lvalue_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_rvalue_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_reference
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_member_function_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace __libcpp_is_member_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5242,7 +5290,7 @@ namespace std
         namespace is_scalar
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5250,7 +5298,7 @@ namespace std
         namespace remove_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5258,7 +5306,7 @@ namespace std
         namespace add_lvalue_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5266,7 +5314,15 @@ namespace std
         namespace add_rvalue_reference
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace remove_pointer
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5274,7 +5330,7 @@ namespace std
         namespace __type_list
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5282,7 +5338,7 @@ namespace std
         namespace __align_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5290,7 +5346,7 @@ namespace std
         namespace aligned_storage
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
 
@@ -5298,7 +5354,7 @@ namespace std
             public unsafe partial struct type
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -5307,7 +5363,7 @@ namespace std
         namespace __numeric_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5315,7 +5371,7 @@ namespace std
         namespace __make_signed
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5323,7 +5379,15 @@ namespace std
         namespace __make_unsigned
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace is_nothrow_destructible
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5331,7 +5395,7 @@ namespace std
         public unsafe partial class __two
         {
             [StructLayout(LayoutKind.Explicit, Size = 2)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public fixed sbyte __lx[2];
@@ -5344,7 +5408,7 @@ namespace std
         public unsafe partial class __any
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -5352,7 +5416,7 @@ namespace std
         public unsafe partial class __nat
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -5360,7 +5424,7 @@ namespace std
         public unsafe partial class __struct_double
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -5368,7 +5432,7 @@ namespace std
         public unsafe partial class __struct_double4
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public fixed double __lx[4];
@@ -5409,7 +5473,7 @@ namespace std
         namespace __tuple_convertible_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5417,7 +5481,7 @@ namespace std
         namespace __tuple_constructible_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5425,7 +5489,7 @@ namespace std
         namespace __tuple_assignable_imp
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5439,7 +5503,7 @@ namespace std
         public unsafe partial class piecewise_construct_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -5455,7 +5519,7 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5465,7 +5529,7 @@ namespace std
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5475,7 +5539,7 @@ namespace std
     public unsafe partial class exception_ptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr __ptr_;
@@ -5485,13 +5549,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_nested_exception;
 
             [FieldOffset(8)]
-            internal global::std.exception_ptr.Internal __ptr_;
+            internal global::std.exception_ptr.__Internal __ptr_;
         }
     }
 }
@@ -5501,7 +5565,7 @@ namespace std
     public unsafe partial class type_info
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_type_info;
@@ -5514,7 +5578,7 @@ namespace std
     public unsafe partial class bad_cast
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5524,7 +5588,7 @@ namespace std
     public unsafe partial class bad_typeid
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5537,7 +5601,7 @@ namespace std
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5547,7 +5611,7 @@ namespace std
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -5557,7 +5621,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -5586,7 +5650,7 @@ namespace std
         namespace __libcpp_numeric_limits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -5596,7 +5660,7 @@ namespace std
 public unsafe partial class __sbuf
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _base;
@@ -5609,7 +5673,7 @@ public unsafe partial class __sbuf
 public unsafe partial class __sFILE
 {
     [StructLayout(LayoutKind.Explicit, Size = 152)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _p;
@@ -5627,7 +5691,7 @@ public unsafe partial class __sFILE
         public short _file;
 
         [FieldOffset(24)]
-        internal global::__sbuf.Internal _bf;
+        internal global::__sbuf.__Internal _bf;
 
         [FieldOffset(40)]
         public int _lbfsize;
@@ -5648,7 +5712,7 @@ public unsafe partial class __sFILE
         public global::System.IntPtr _write;
 
         [FieldOffset(88)]
-        internal global::__sbuf.Internal _ub;
+        internal global::__sbuf.__Internal _ub;
 
         [FieldOffset(104)]
         public global::System.IntPtr _extra;
@@ -5669,7 +5733,7 @@ public unsafe partial class __sFILE
         public fixed byte _nbuf[1];
 
         [FieldOffset(120)]
-        internal global::__sbuf.Internal _lb;
+        internal global::__sbuf.__Internal _lb;
 
         [FieldOffset(136)]
         public int _blksize;
@@ -5682,7 +5746,7 @@ public unsafe partial class __sFILE
 public unsafe partial class timespec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -5695,7 +5759,7 @@ public unsafe partial class timespec
 public unsafe partial class __darwin_sigaltstack
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr ss_sp;
@@ -5711,7 +5775,7 @@ public unsafe partial class __darwin_sigaltstack
 public unsafe partial class __darwin_ucontext
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int uc_onstack;
@@ -5720,7 +5784,7 @@ public unsafe partial class __darwin_ucontext
         public uint uc_sigmask;
 
         [FieldOffset(8)]
-        internal global::__darwin_sigaltstack.Internal uc_stack;
+        internal global::__darwin_sigaltstack.__Internal uc_stack;
 
         [FieldOffset(32)]
         public global::System.IntPtr uc_link;
@@ -5736,7 +5800,7 @@ public unsafe partial class __darwin_ucontext
 public unsafe partial class timeval
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -5749,7 +5813,7 @@ public unsafe partial class timeval
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -5789,7 +5853,7 @@ public unsafe partial class tm
 public unsafe partial class _RuneEntry
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __min;
@@ -5808,7 +5872,7 @@ public unsafe partial class _RuneEntry
 public unsafe partial class _RuneRange
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __nranges;
@@ -5821,7 +5885,7 @@ public unsafe partial class _RuneRange
 public unsafe partial class _RuneCharClass
 {
     [StructLayout(LayoutKind.Explicit, Size = 20)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __name[14];
@@ -5873,7 +5937,7 @@ public unsafe partial class _RuneCharClass
 public unsafe partial class _RuneLocale
 {
     [StructLayout(LayoutKind.Explicit, Size = 3208)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __magic[8];
@@ -8309,13 +8373,13 @@ public unsafe partial class _RuneLocale
         public int __dummy___mapupper_255;
 
         [FieldOffset(3136)]
-        internal global::_RuneRange.Internal __runetype_ext;
+        internal global::_RuneRange.__Internal __runetype_ext;
 
         [FieldOffset(3152)]
-        internal global::_RuneRange.Internal __maplower_ext;
+        internal global::_RuneRange.__Internal __maplower_ext;
 
         [FieldOffset(3168)]
-        internal global::_RuneRange.Internal __mapupper_ext;
+        internal global::_RuneRange.__Internal __mapupper_ext;
 
         [FieldOffset(3184)]
         public global::System.IntPtr __variable;
@@ -8345,7 +8409,15 @@ namespace std
         namespace iterator
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
+        namespace iterator_traits
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8353,7 +8425,7 @@ namespace std
         public unsafe partial class input_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8361,7 +8433,7 @@ namespace std
         public unsafe partial class output_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8369,7 +8441,7 @@ namespace std
         public unsafe partial class forward_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8377,7 +8449,7 @@ namespace std
         public unsafe partial class bidirectional_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8385,7 +8457,7 @@ namespace std
         public unsafe partial class random_access_iterator_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8396,10 +8468,18 @@ namespace std
 {
     namespace __1
     {
+        namespace __weak_result_type
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
         namespace unary_function
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8407,7 +8487,7 @@ namespace std
         namespace binary_function
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8415,7 +8495,7 @@ namespace std
         namespace less
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8423,7 +8503,7 @@ namespace std
         public unsafe partial class allocator_arg_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -8437,7 +8517,7 @@ namespace std
         namespace tuple
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8445,7 +8525,7 @@ namespace std
         namespace __ignore_t
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8453,7 +8533,7 @@ namespace std
         namespace __tuple_equal
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8461,7 +8541,7 @@ namespace std
         namespace __tuple_less
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8475,7 +8555,7 @@ namespace std
         public unsafe partial class allocator : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8496,19 +8576,19 @@ namespace std
                 return new allocator(native.ToPointer(), skipVTables);
             }
 
-            public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+            public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
             {
                 return new allocator(native, skipVTables);
             }
 
-            private static void* __CopyValue(allocator.Internal native)
+            private static void* __CopyValue(allocator.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(allocator.Internal*) ret = native;
+                *(allocator.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private allocator(allocator.Internal native, bool skipVTables = false)
+            private allocator(allocator.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -8527,7 +8607,7 @@ namespace std
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public void Dispose()
@@ -8548,7 +8628,7 @@ namespace std
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -8556,7 +8636,7 @@ namespace std
         namespace allocator_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8564,17 +8644,17 @@ namespace std
         namespace __compressed_pair
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.basic_string.__rep.Internal __first_;
+                internal global::std.__1.basic_string.__rep.__Internal __first_;
             }
         }
 
         namespace __pointer_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8582,7 +8662,7 @@ namespace std
         namespace __const_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8590,7 +8670,7 @@ namespace std
         namespace __void_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8598,7 +8678,7 @@ namespace std
         namespace pointer_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
 
@@ -8606,7 +8686,7 @@ namespace std
             public unsafe static partial class __nat
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -8615,7 +8695,7 @@ namespace std
         namespace __const_void_pointer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8623,7 +8703,7 @@ namespace std
         namespace __alloc_traits_difference_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8631,7 +8711,7 @@ namespace std
         namespace __size_type
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8639,7 +8719,7 @@ namespace std
         namespace __propagate_on_container_copy_assignment
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8647,7 +8727,7 @@ namespace std
         namespace __propagate_on_container_move_assignment
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8655,7 +8735,7 @@ namespace std
         namespace __propagate_on_container_swap
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8663,7 +8743,7 @@ namespace std
         namespace auto_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -8671,7 +8751,7 @@ namespace std
         public unsafe partial class __destruct_n
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public ulong size;
@@ -8681,7 +8761,7 @@ namespace std
         public unsafe partial class bad_weak_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr_exception;
@@ -8691,7 +8771,7 @@ namespace std
         public unsafe abstract partial class __shared_count
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr___shared_count;
@@ -8704,7 +8784,7 @@ namespace std
         public unsafe abstract partial class __shared_weak_count
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr___shared_count;
@@ -8720,7 +8800,7 @@ namespace std
         public unsafe partial class __sp_mut
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __lx;
@@ -8730,7 +8810,7 @@ namespace std
         public unsafe partial class pointer_safety
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 internal global::std.__1.pointer_safety.__lx __v_;
@@ -8749,7 +8829,7 @@ namespace std
             namespace __pointer_type
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public unsafe partial struct Internal
+                public unsafe partial struct __Internal
                 {
                 }
             }
@@ -8764,7 +8844,7 @@ namespace std
 public unsafe partial struct sigval
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int sival_int;
@@ -8777,7 +8857,7 @@ public unsafe partial struct sigval
 public unsafe partial class sigevent
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int sigev_notify;
@@ -8786,7 +8866,7 @@ public unsafe partial class sigevent
         public int sigev_signo;
 
         [FieldOffset(8)]
-        internal global::sigval.Internal sigev_value;
+        internal global::sigval.__Internal sigev_value;
 
         [FieldOffset(16)]
         public global::System.IntPtr sigev_notify_function;
@@ -8799,7 +8879,7 @@ public unsafe partial class sigevent
 public unsafe partial class __siginfo
 {
     [StructLayout(LayoutKind.Explicit, Size = 104)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int si_signo;
@@ -8823,7 +8903,7 @@ public unsafe partial class __siginfo
         public global::System.IntPtr si_addr;
 
         [FieldOffset(32)]
-        internal global::sigval.Internal si_value;
+        internal global::sigval.__Internal si_value;
 
         [FieldOffset(40)]
         public long si_band;
@@ -8854,7 +8934,7 @@ public unsafe partial class __siginfo
 public unsafe partial struct __sigaction_u
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __sa_handler;
@@ -8867,10 +8947,10 @@ public unsafe partial struct __sigaction_u
 public unsafe partial class __sigaction
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__sigaction_u.Internal __sigaction_u;
+        internal global::__sigaction_u.__Internal __sigaction_u;
 
         [FieldOffset(8)]
         public global::System.IntPtr sa_tramp;
@@ -8886,10 +8966,10 @@ public unsafe partial class __sigaction
 public unsafe partial class sigaction
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__sigaction_u.Internal __sigaction_u;
+        internal global::__sigaction_u.__Internal __sigaction_u;
 
         [FieldOffset(8)]
         public uint sa_mask;
@@ -8902,7 +8982,7 @@ public unsafe partial class sigaction
 public unsafe partial class sigvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr sv_handler;
@@ -8918,7 +8998,7 @@ public unsafe partial class sigvec
 public unsafe partial class sigstack
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr ss_sp;
@@ -8931,71 +9011,71 @@ public unsafe partial class sigstack
 public unsafe partial class __darwin_mcontext32
 {
     [StructLayout(LayoutKind.Explicit, Size = 600)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_i386_exception_state.Internal __es;
+        internal global::__darwin_i386_exception_state.__Internal __es;
 
         [FieldOffset(12)]
-        internal global::__darwin_i386_thread_state.Internal __ss;
+        internal global::__darwin_i386_thread_state.__Internal __ss;
 
         [FieldOffset(76)]
-        internal global::__darwin_i386_float_state.Internal __fs;
+        internal global::__darwin_i386_float_state.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext_avx32
 {
     [StructLayout(LayoutKind.Explicit, Size = 792)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_i386_exception_state.Internal __es;
+        internal global::__darwin_i386_exception_state.__Internal __es;
 
         [FieldOffset(12)]
-        internal global::__darwin_i386_thread_state.Internal __ss;
+        internal global::__darwin_i386_thread_state.__Internal __ss;
 
         [FieldOffset(76)]
-        internal global::__darwin_i386_avx_state.Internal __fs;
+        internal global::__darwin_i386_avx_state.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext64
 {
     [StructLayout(LayoutKind.Explicit, Size = 712)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_x86_exception_state64.Internal __es;
+        internal global::__darwin_x86_exception_state64.__Internal __es;
 
         [FieldOffset(16)]
-        internal global::__darwin_x86_thread_state64.Internal __ss;
+        internal global::__darwin_x86_thread_state64.__Internal __ss;
 
         [FieldOffset(184)]
-        internal global::__darwin_x86_float_state64.Internal __fs;
+        internal global::__darwin_x86_float_state64.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_mcontext_avx64
 {
     [StructLayout(LayoutKind.Explicit, Size = 1032)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::__darwin_x86_exception_state64.Internal __es;
+        internal global::__darwin_x86_exception_state64.__Internal __es;
 
         [FieldOffset(16)]
-        internal global::__darwin_x86_thread_state64.Internal __ss;
+        internal global::__darwin_x86_thread_state64.__Internal __ss;
 
         [FieldOffset(184)]
-        internal global::__darwin_x86_avx_state64.Internal __fs;
+        internal global::__darwin_x86_avx_state64.__Internal __fs;
     }
 }
 
 public unsafe partial class __darwin_i386_thread_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint __eax;
@@ -9050,7 +9130,7 @@ public unsafe partial class __darwin_i386_thread_state
 public unsafe partial class __darwin_fp_control
 {
     [StructLayout(LayoutKind.Explicit, Size = 2)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __invalid;
@@ -9090,7 +9170,7 @@ public unsafe partial class __darwin_fp_control
 public unsafe partial class __darwin_fp_status
 {
     [StructLayout(LayoutKind.Explicit, Size = 2)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __invalid;
@@ -9139,7 +9219,7 @@ public unsafe partial class __darwin_fp_status
 public unsafe partial class __darwin_mmst_reg
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __mmst_reg[10];
@@ -9194,7 +9274,7 @@ public unsafe partial class __darwin_mmst_reg
 public unsafe partial class __darwin_xmm_reg
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __xmm_reg[16];
@@ -9249,7 +9329,7 @@ public unsafe partial class __darwin_xmm_reg
 public unsafe partial class __darwin_i386_float_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 524)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -9258,10 +9338,10 @@ public unsafe partial class __darwin_i386_float_state
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -9297,52 +9377,52 @@ public unsafe partial class __darwin_i386_float_state
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
         public fixed sbyte __fpu_rsrv4[224];
@@ -10024,7 +10104,7 @@ public unsafe partial class __darwin_i386_float_state
 public unsafe partial class __darwin_i386_avx_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 716)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -10033,10 +10113,10 @@ public unsafe partial class __darwin_i386_avx_state
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -10072,52 +10152,52 @@ public unsafe partial class __darwin_i386_avx_state
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
         public fixed sbyte __fpu_rsrv4[224];
@@ -10987,35 +11067,35 @@ public unsafe partial class __darwin_i386_avx_state
         public sbyte __dummy___avx_reserved1_63;
 
         [FieldOffset(588)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh0;
 
         [FieldOffset(604)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh1;
 
         [FieldOffset(620)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh2;
 
         [FieldOffset(636)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh3;
 
         [FieldOffset(652)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh4;
 
         [FieldOffset(668)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh5;
 
         [FieldOffset(684)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh6;
 
         [FieldOffset(700)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh7;
     }
 }
 
 public unsafe partial class __darwin_i386_exception_state
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __trapno;
@@ -11034,7 +11114,7 @@ public unsafe partial class __darwin_i386_exception_state
 public unsafe partial class __darwin_x86_debug_state32
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint __dr0;
@@ -11065,7 +11145,7 @@ public unsafe partial class __darwin_x86_debug_state32
 public unsafe partial class __darwin_x86_thread_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 168)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong __rax;
@@ -11135,7 +11215,7 @@ public unsafe partial class __darwin_x86_thread_state64
 public unsafe partial class __darwin_x86_float_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 524)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -11144,10 +11224,10 @@ public unsafe partial class __darwin_x86_float_state64
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -11183,76 +11263,76 @@ public unsafe partial class __darwin_x86_float_state64
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm8;
 
         [FieldOffset(312)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm9;
 
         [FieldOffset(328)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm10;
 
         [FieldOffset(344)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm11;
 
         [FieldOffset(360)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm12;
 
         [FieldOffset(376)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm13;
 
         [FieldOffset(392)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm14;
 
         [FieldOffset(408)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm15;
 
         [FieldOffset(424)]
         public fixed sbyte __fpu_rsrv4[96];
@@ -11550,7 +11630,7 @@ public unsafe partial class __darwin_x86_float_state64
 public unsafe partial class __darwin_x86_avx_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 844)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __fpu_reserved[2];
@@ -11559,10 +11639,10 @@ public unsafe partial class __darwin_x86_avx_state64
         public int __dummy___fpu_reserved_1;
 
         [FieldOffset(8)]
-        internal global::__darwin_fp_control.Internal __fpu_fcw;
+        internal global::__darwin_fp_control.__Internal __fpu_fcw;
 
         [FieldOffset(10)]
-        internal global::__darwin_fp_status.Internal __fpu_fsw;
+        internal global::__darwin_fp_status.__Internal __fpu_fsw;
 
         [FieldOffset(12)]
         public byte __fpu_ftw;
@@ -11598,76 +11678,76 @@ public unsafe partial class __darwin_x86_avx_state64
         public uint __fpu_mxcsrmask;
 
         [FieldOffset(40)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm0;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm0;
 
         [FieldOffset(56)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm1;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm1;
 
         [FieldOffset(72)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm2;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm2;
 
         [FieldOffset(88)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm3;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm3;
 
         [FieldOffset(104)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm4;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm4;
 
         [FieldOffset(120)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm5;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm5;
 
         [FieldOffset(136)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm6;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm6;
 
         [FieldOffset(152)]
-        internal global::__darwin_mmst_reg.Internal __fpu_stmm7;
+        internal global::__darwin_mmst_reg.__Internal __fpu_stmm7;
 
         [FieldOffset(168)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm0;
 
         [FieldOffset(184)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm1;
 
         [FieldOffset(200)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm2;
 
         [FieldOffset(216)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm3;
 
         [FieldOffset(232)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm4;
 
         [FieldOffset(248)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm5;
 
         [FieldOffset(264)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm6;
 
         [FieldOffset(280)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm7;
 
         [FieldOffset(296)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm8;
 
         [FieldOffset(312)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm9;
 
         [FieldOffset(328)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm10;
 
         [FieldOffset(344)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm11;
 
         [FieldOffset(360)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm12;
 
         [FieldOffset(376)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm13;
 
         [FieldOffset(392)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm14;
 
         [FieldOffset(408)]
-        internal global::__darwin_xmm_reg.Internal __fpu_xmm15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_xmm15;
 
         [FieldOffset(424)]
         public fixed sbyte __fpu_rsrv4[96];
@@ -12153,59 +12233,59 @@ public unsafe partial class __darwin_x86_avx_state64
         public sbyte __dummy___avx_reserved1_63;
 
         [FieldOffset(588)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh0;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh0;
 
         [FieldOffset(604)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh1;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh1;
 
         [FieldOffset(620)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh2;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh2;
 
         [FieldOffset(636)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh3;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh3;
 
         [FieldOffset(652)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh4;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh4;
 
         [FieldOffset(668)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh5;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh5;
 
         [FieldOffset(684)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh6;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh6;
 
         [FieldOffset(700)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh7;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh7;
 
         [FieldOffset(716)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh8;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh8;
 
         [FieldOffset(732)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh9;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh9;
 
         [FieldOffset(748)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh10;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh10;
 
         [FieldOffset(764)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh11;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh11;
 
         [FieldOffset(780)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh12;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh12;
 
         [FieldOffset(796)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh13;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh13;
 
         [FieldOffset(812)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh14;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh14;
 
         [FieldOffset(828)]
-        internal global::__darwin_xmm_reg.Internal __fpu_ymmh15;
+        internal global::__darwin_xmm_reg.__Internal __fpu_ymmh15;
     }
 }
 
 public unsafe partial class __darwin_x86_exception_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ushort __trapno;
@@ -12224,7 +12304,7 @@ public unsafe partial class __darwin_x86_exception_state64
 public unsafe partial class __darwin_x86_debug_state64
 {
     [StructLayout(LayoutKind.Explicit, Size = 64)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong __dr0;
@@ -12255,13 +12335,13 @@ public unsafe partial class __darwin_x86_debug_state64
 public unsafe partial class rusage
 {
     [StructLayout(LayoutKind.Explicit, Size = 144)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::timeval.Internal ru_utime;
+        internal global::timeval.__Internal ru_utime;
 
         [FieldOffset(16)]
-        internal global::timeval.Internal ru_stime;
+        internal global::timeval.__Internal ru_stime;
 
         [FieldOffset(32)]
         public long ru_maxrss;
@@ -12310,7 +12390,7 @@ public unsafe partial class rusage
 public unsafe partial class rlimit
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong rlim_cur;
@@ -12330,22 +12410,22 @@ public enum idtype_t : uint
 public unsafe partial struct wait
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int w_status;
 
         [FieldOffset(0)]
-        internal global::wait._.Internal w_T;
+        internal global::wait._.__Internal w_T;
 
         [FieldOffset(0)]
-        internal global::wait.__.Internal w_S;
+        internal global::wait.__.__Internal w_S;
     }
 
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint w_Termsig;
@@ -12364,7 +12444,7 @@ public unsafe partial struct wait
     public unsafe partial class __
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint w_Stopval;
@@ -12381,7 +12461,7 @@ public unsafe partial struct wait
 public unsafe partial class div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -12394,7 +12474,7 @@ public unsafe partial class div_t
 public unsafe partial class ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -12407,7 +12487,7 @@ public unsafe partial class ldiv_t
 public unsafe partial class lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -12431,10 +12511,18 @@ namespace std
             memory_order_seq_cst = 5
         }
 
+        namespace atomic
+        {
+            [StructLayout(LayoutKind.Explicit, Size = 0)]
+            public unsafe partial struct __Internal
+            {
+            }
+        }
+
         public unsafe partial class atomic_flag
         {
             [StructLayout(LayoutKind.Explicit, Size = 1)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public byte __a_;
@@ -12450,7 +12538,7 @@ namespace std
         public unsafe partial class __rs_default
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -12458,7 +12546,7 @@ namespace std
         public unsafe partial class __return_temporary_buffer
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -12477,7 +12565,7 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12490,7 +12578,7 @@ namespace std
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12503,7 +12591,7 @@ namespace std
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12516,7 +12604,7 @@ namespace std
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12529,7 +12617,7 @@ namespace std
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12542,7 +12630,7 @@ namespace std
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12555,7 +12643,7 @@ namespace std
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12568,7 +12656,7 @@ namespace std
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12581,7 +12669,7 @@ namespace std
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -12599,7 +12687,7 @@ namespace std
         namespace __split_buffer_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -12613,7 +12701,7 @@ namespace std
         namespace __vector_base_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -12621,7 +12709,7 @@ namespace std
         namespace __vector_base
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_;
@@ -12630,14 +12718,14 @@ namespace std
                 public global::System.IntPtr __end_;
 
                 [FieldOffset(16)]
-                internal global::std.__1.__compressed_pair.Internal __end_cap_;
+                internal global::std.__1.__compressed_pair.__Internal __end_cap_;
             }
         }
 
         namespace vector
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_;
@@ -12646,7 +12734,7 @@ namespace std
                 public global::System.IntPtr __end_;
 
                 [FieldOffset(16)]
-                internal global::std.__1.__compressed_pair.Internal __end_cap_;
+                internal global::std.__1.__compressed_pair.__Internal __end_cap_;
             }
         }
     }
@@ -12659,23 +12747,23 @@ namespace std
         namespace __tree
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __begin_node_;
 
                 [FieldOffset(8)]
-                internal global::std.__1.__compressed_pair.Internal __pair1_;
+                internal global::std.__1.__compressed_pair.__Internal __pair1_;
 
                 [FieldOffset(16)]
-                internal global::std.__1.__compressed_pair.Internal __pair3_;
+                internal global::std.__1.__compressed_pair.__Internal __pair3_;
             }
         }
 
         namespace __tree_node_base
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __left_;
@@ -12694,7 +12782,7 @@ namespace std
         namespace __tree_end_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public unsafe partial struct Internal_Ptr
+            public unsafe partial struct __Internal_Ptr
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr __left_;
@@ -12710,7 +12798,7 @@ namespace std
         public unsafe partial class bad_function_call
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vptr_exception;
@@ -12734,17 +12822,17 @@ namespace std
         namespace map
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.__tree.Internal __tree_;
+                internal global::std.__1.__tree.__Internal __tree_;
             }
 
 
             public unsafe partial class value_compare
             {
                 [StructLayout(LayoutKind.Explicit, Size = 0)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                 }
             }
@@ -12753,7 +12841,7 @@ namespace std
         namespace __map_value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -12771,7 +12859,7 @@ namespace std
         namespace char_traits
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
@@ -12779,10 +12867,10 @@ namespace std
         public unsafe partial class basic_string : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__1.__compressed_pair.Internal __r_;
+                internal global::std.__1.__compressed_pair.__Internal __r_;
 
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12824,25 +12912,25 @@ namespace std
             public unsafe partial class __rep
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__rep._.Internal _;
+                    internal global::std.__1.basic_string.__rep._.__Internal _;
                 }
 
                 public unsafe partial struct _
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 24)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__long.Internal __l;
+                        internal global::std.__1.basic_string.__long.__Internal __l;
 
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__short.Internal __s;
+                        internal global::std.__1.basic_string.__short.__Internal __s;
 
                         [FieldOffset(0)]
-                        internal global::std.__1.basic_string.__raw.Internal __r;
+                        internal global::std.__1.basic_string.__raw.__Internal __r;
                     }
                 }
             }
@@ -12850,7 +12938,7 @@ namespace std
             public unsafe partial class __long
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong __cap_;
@@ -12866,10 +12954,10 @@ namespace std
             public unsafe partial class __short
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__short._.Internal _;
+                    internal global::std.__1.basic_string.__short._.__Internal _;
 
                     [FieldOffset(1)]
                     public fixed sbyte __data_[23];
@@ -12944,7 +13032,7 @@ namespace std
                 public unsafe partial struct _
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 1)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public byte __size_;
@@ -12958,7 +13046,7 @@ namespace std
             public unsafe partial class __raw
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public fixed ulong __words[3];
@@ -12974,13 +13062,13 @@ namespace std
             public unsafe partial struct __ulx
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__long.Internal __lx;
+                    internal global::std.__1.basic_string.__long.__Internal __lx;
 
                     [FieldOffset(0)]
-                    internal global::std.__1.basic_string.__short.Internal __lxx;
+                    internal global::std.__1.basic_string.__short.__Internal __lxx;
                 }
             }
 
@@ -12997,19 +13085,19 @@ namespace std
                 return new basic_string(native.ToPointer(), skipVTables);
             }
 
-            public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+            public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
             {
                 return new basic_string(native, skipVTables);
             }
 
-            private static void* __CopyValue(basic_string.Internal native)
+            private static void* __CopyValue(basic_string.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(24);
-                *(basic_string.Internal*) ret = native;
+                *(basic_string.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private basic_string(basic_string.Internal native, bool skipVTables = false)
+            private basic_string(basic_string.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -13033,14 +13121,14 @@ namespace std
                 global::std.__1.basic_string __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string c_str()
             {
-                var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+                var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
                 return Marshal.PtrToStringAnsi(__ret);
             }
         }
@@ -13049,7 +13137,7 @@ namespace std
         public unsafe partial class __long
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -13058,7 +13146,7 @@ namespace std
         public unsafe partial class __short
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -13067,7 +13155,7 @@ namespace std
         public unsafe partial struct __ulx
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -13076,7 +13164,7 @@ namespace std
         public unsafe partial class __raw
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -13085,7 +13173,7 @@ namespace std
         public unsafe partial class __rep
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -13093,7 +13181,7 @@ namespace std
         namespace __basic_string_common
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
             }
         }
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
index 91bf535f..af5bd73f 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(24)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal Components;
+                    internal global::std.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3123,7 +3130,7 @@ namespace CppSharp
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
                         EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")]
-                    internal static extern global::CppSharp.Parser.AST.VTableComponent.Internal getComponents_0(global::System.IntPtr instance, uint i);
+                    internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal getComponents_0(global::System.IntPtr instance, uint i);
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,14 +3216,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = Internal.getComponents_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getComponents_0((__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3225,19 +3232,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3246,7 +3253,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3258,7 +3265,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3289,19 +3296,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3320,7 +3327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3331,7 +3338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3344,7 +3351,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3353,12 +3360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3366,12 +3373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3379,12 +3386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3392,12 +3399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3405,16 +3412,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(56)]
                     public global::System.IntPtr FieldPtr;
@@ -3458,19 +3465,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3489,7 +3496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3500,7 +3507,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3513,7 +3520,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3522,14 +3529,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3537,12 +3544,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3550,12 +3557,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3563,12 +3570,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3576,7 +3583,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3613,19 +3620,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3644,7 +3651,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3655,7 +3662,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3668,7 +3675,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3677,12 +3684,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3691,16 +3698,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3708,16 +3715,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal VFTables;
+                    internal global::std.vector.__Internal VFTables;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(56)]
                     public byte HasOwnVFPtr;
@@ -3735,10 +3742,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(88)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(112)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3829,19 +3836,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3860,7 +3867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(136);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3871,7 +3878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3884,15 +3891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3901,18 +3908,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3921,18 +3928,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3941,19 +3948,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3962,7 +3969,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3971,7 +3978,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3980,12 +3987,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3993,12 +4000,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4006,12 +4013,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4019,12 +4026,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4032,12 +4039,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4045,12 +4052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4058,12 +4065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4071,7 +4078,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 192)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4083,7 +4090,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4092,13 +4099,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -4116,7 +4123,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -4203,19 +4210,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(192);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4235,7 +4242,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4246,7 +4253,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4259,14 +4266,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4280,26 +4287,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4307,14 +4314,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4322,14 +4329,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4337,7 +4344,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4346,12 +4353,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4359,12 +4366,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4373,16 +4380,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4390,12 +4397,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4403,12 +4410,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4416,12 +4423,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4429,12 +4436,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4442,12 +4449,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4455,12 +4462,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4469,16 +4476,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4486,12 +4493,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4499,12 +4506,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4513,16 +4520,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4530,7 +4537,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 464)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4542,7 +4549,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4551,13 +4558,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -4575,7 +4582,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -4584,34 +4591,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
@@ -4817,19 +4824,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(464);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4852,7 +4859,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4864,7 +4871,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4872,14 +4879,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4893,17 +4900,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4917,17 +4924,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4941,17 +4948,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4965,17 +4972,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4989,17 +4996,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5013,17 +5020,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5037,17 +5044,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5061,17 +5068,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5085,19 +5092,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5106,7 +5113,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5115,7 +5122,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5124,7 +5131,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5133,7 +5140,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5142,7 +5149,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5151,7 +5158,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5160,7 +5167,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5169,7 +5176,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5178,12 +5185,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5191,7 +5198,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5203,7 +5210,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5212,13 +5219,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5236,7 +5243,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5245,7 +5252,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5268,19 +5275,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5303,7 +5310,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5315,7 +5322,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5323,7 +5330,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5332,12 +5339,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5345,7 +5352,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5357,7 +5364,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5366,13 +5373,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5390,7 +5397,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5399,7 +5406,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5422,19 +5429,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5456,7 +5463,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(208);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5468,7 +5475,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5476,7 +5483,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5485,7 +5492,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 216)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5497,7 +5504,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5506,13 +5513,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5530,7 +5537,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5539,7 +5546,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5565,19 +5572,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(216);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5599,7 +5606,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(216);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5611,7 +5618,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5619,7 +5626,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5629,16 +5636,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5646,7 +5653,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5658,7 +5665,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5667,13 +5674,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5691,7 +5698,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5723,19 +5730,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5757,7 +5764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5769,7 +5776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5777,7 +5784,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5787,16 +5794,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5804,7 +5811,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5813,7 +5820,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__cxx11.basic_string.Internal String;
+                    public global::std.__cxx11.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5849,19 +5856,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5883,7 +5890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5896,7 +5903,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5905,14 +5912,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5920,12 +5927,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5934,16 +5941,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5951,7 +5958,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5960,7 +5967,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__cxx11.basic_string.Internal String;
+                    public global::std.__cxx11.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5978,19 +5985,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6015,7 +6022,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6023,7 +6030,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6032,7 +6039,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6041,7 +6048,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__cxx11.basic_string.Internal String;
+                    public global::std.__cxx11.basic_string.__Internal String;
 
                     [FieldOffset(48)]
                     public global::System.IntPtr LHS;
@@ -6050,7 +6057,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal OpcodeStr;
+                    public global::std.__cxx11.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6078,19 +6085,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6115,7 +6122,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6123,7 +6130,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6132,14 +6139,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6148,16 +6155,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6166,16 +6173,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6183,7 +6190,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6192,10 +6199,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__cxx11.basic_string.Internal String;
+                    public global::std.__cxx11.basic_string.__Internal String;
 
                     [FieldOffset(48)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6233,19 +6240,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6270,7 +6277,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6278,14 +6285,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6299,19 +6306,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6320,7 +6327,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6329,10 +6336,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.__cxx11.basic_string.Internal String;
+                    public global::std.__cxx11.basic_string.__Internal String;
 
                     [FieldOffset(48)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6370,19 +6377,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6407,7 +6414,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6415,14 +6422,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6436,19 +6443,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6457,7 +6464,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6469,7 +6476,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6478,13 +6485,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -6502,7 +6509,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -6511,7 +6518,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public byte IsIndirect;
@@ -6546,19 +6553,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6580,7 +6587,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6592,7 +6599,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6600,7 +6607,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6609,12 +6616,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6622,12 +6629,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6635,12 +6642,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6648,12 +6655,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6662,16 +6669,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6679,7 +6686,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 336)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6691,7 +6698,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6700,13 +6707,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -6724,7 +6731,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -6733,7 +6740,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(208)]
                     public byte IsReturnIndirect;
@@ -6757,16 +6764,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(224)]
-                    public global::std.__cxx11.basic_string.Internal Mangled;
+                    public global::std.__cxx11.basic_string.__Internal Mangled;
 
                     [FieldOffset(256)]
-                    public global::std.__cxx11.basic_string.Internal Signature;
+                    public global::std.__cxx11.basic_string.__Internal Signature;
 
                     [FieldOffset(288)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(296)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(320)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6835,19 +6842,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(336);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6869,7 +6876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(336);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6881,7 +6888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6889,14 +6896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6910,26 +6917,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6937,14 +6944,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6952,7 +6959,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6961,12 +6968,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6974,12 +6981,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6987,12 +6994,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7000,12 +7007,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7013,12 +7020,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7026,12 +7033,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7039,12 +7046,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7052,12 +7059,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7065,12 +7072,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7079,16 +7086,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7097,24 +7104,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 368)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 376)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7126,7 +7133,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7135,13 +7142,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7159,7 +7166,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7168,7 +7175,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(208)]
                     public byte IsReturnIndirect;
@@ -7192,16 +7199,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(224)]
-                    public global::std.__cxx11.basic_string.Internal Mangled;
+                    public global::std.__cxx11.basic_string.__Internal Mangled;
 
                     [FieldOffset(256)]
-                    public global::std.__cxx11.basic_string.Internal Signature;
+                    public global::std.__cxx11.basic_string.__Internal Signature;
 
                     [FieldOffset(288)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(296)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(320)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7237,7 +7244,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(352)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(368)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7260,19 +7270,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(368);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(376);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7291,22 +7301,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(368);
+                    __Instance = Marshal.AllocHGlobal(376);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(368);
+                    __Instance = Marshal.AllocHGlobal(376);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7314,7 +7324,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7323,12 +7333,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7336,12 +7346,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7349,12 +7359,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7362,12 +7372,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7375,12 +7385,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7388,12 +7398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7401,12 +7411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7414,12 +7424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7427,12 +7437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7440,12 +7450,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7453,7 +7476,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 504)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7465,7 +7488,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7474,13 +7497,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7498,7 +7521,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7507,34 +7530,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
@@ -7549,7 +7572,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(480)]
-                    internal global::std.vector.Internal Items;
+                    internal global::std.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7598,7 +7621,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 232)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7610,7 +7633,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(16)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(20)]
                         public int LineNumberStart;
@@ -7619,13 +7642,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(32)]
-                        public global::std.__cxx11.basic_string.Internal Name;
+                        public global::std.__cxx11.basic_string.__Internal Name;
 
                         [FieldOffset(64)]
-                        public global::std.__cxx11.basic_string.Internal USR;
+                        public global::std.__cxx11.basic_string.__Internal USR;
 
                         [FieldOffset(96)]
-                        public global::std.__cxx11.basic_string.Internal DebugText;
+                        public global::std.__cxx11.basic_string.__Internal DebugText;
 
                         [FieldOffset(128)]
                         public byte IsIncomplete;
@@ -7643,7 +7666,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(152)]
-                        internal global::std.vector.Internal PreprocessedEntities;
+                        internal global::std.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(176)]
                         public global::System.IntPtr OriginalPtr;
@@ -7652,7 +7675,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(192)]
-                        public global::std.__cxx11.basic_string.Internal Expression;
+                        public global::std.__cxx11.basic_string.__Internal Expression;
 
                         [FieldOffset(224)]
                         public ulong Value;
@@ -7688,19 +7711,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(232);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7722,7 +7745,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(232);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7734,7 +7757,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7742,7 +7765,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7751,14 +7774,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7766,12 +7789,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7781,19 +7804,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(504);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7815,7 +7838,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(504);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7827,7 +7850,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7835,14 +7858,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7856,19 +7879,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7877,12 +7900,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7891,16 +7914,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7909,16 +7932,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7926,7 +7949,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 240)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7938,7 +7961,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7947,13 +7970,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7971,7 +7994,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7980,10 +8003,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.__cxx11.basic_string.Internal Mangled;
+                    public global::std.__cxx11.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8016,19 +8039,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(240);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8050,7 +8073,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(240);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8062,7 +8085,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8070,7 +8093,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8079,14 +8102,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8094,12 +8117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8107,7 +8130,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8145,19 +8168,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8176,7 +8199,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8184,7 +8207,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8204,12 +8227,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8217,12 +8240,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8231,16 +8254,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8248,12 +8271,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8261,7 +8284,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8273,7 +8296,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8282,13 +8305,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8306,7 +8329,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8315,7 +8338,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr Class;
@@ -8347,19 +8370,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8381,7 +8404,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8393,7 +8416,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8401,7 +8424,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8410,12 +8433,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8424,16 +8447,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8441,12 +8464,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8454,12 +8477,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8467,7 +8490,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 192)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8479,7 +8502,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8488,13 +8511,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8512,7 +8535,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8541,19 +8564,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(192);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8575,7 +8598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(192);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8587,7 +8610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8595,7 +8618,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8604,7 +8627,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 584)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8616,7 +8639,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8625,13 +8648,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8649,7 +8672,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8658,49 +8681,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(488)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(512)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(536)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(560)]
                     public byte IsPOD;
@@ -8833,19 +8856,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(584);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8867,7 +8890,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(584);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8879,7 +8902,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8887,14 +8910,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8908,17 +8931,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8932,17 +8955,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8956,17 +8979,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8980,19 +9003,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9001,7 +9024,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9010,7 +9033,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9019,7 +9042,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9028,12 +9051,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9041,12 +9064,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9054,12 +9077,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9067,12 +9090,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9080,12 +9103,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9093,12 +9116,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9106,12 +9129,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9119,12 +9142,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9132,12 +9155,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9146,16 +9169,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9163,7 +9186,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9175,7 +9198,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9184,13 +9207,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9208,7 +9231,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9220,7 +9243,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9268,19 +9291,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9303,7 +9326,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9312,7 +9335,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9324,7 +9347,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9332,14 +9355,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9353,19 +9376,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9375,16 +9398,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9392,7 +9415,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9404,7 +9427,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9413,13 +9436,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9437,7 +9460,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9449,7 +9472,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9472,19 +9495,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9506,7 +9529,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9518,7 +9541,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9526,7 +9549,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9535,7 +9558,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9547,7 +9570,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9556,13 +9579,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9580,7 +9603,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9618,19 +9641,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9653,7 +9676,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9665,7 +9688,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9673,7 +9696,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9682,12 +9705,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9695,12 +9718,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9708,12 +9731,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9721,7 +9744,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 232)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9733,7 +9756,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9742,13 +9765,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9766,7 +9789,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9778,7 +9801,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
                     public byte IsParameterPack;
@@ -9810,19 +9833,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(232);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9844,7 +9867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(232);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9856,7 +9879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9864,7 +9887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9873,12 +9896,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9886,12 +9909,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9899,12 +9922,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9912,7 +9935,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9924,7 +9947,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9933,13 +9956,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9957,7 +9980,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9975,7 +9998,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(208)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9998,19 +10021,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10032,7 +10055,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10044,7 +10067,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10052,7 +10075,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10061,12 +10084,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10074,7 +10097,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10086,7 +10109,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10095,13 +10118,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10119,7 +10142,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10169,19 +10192,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10203,7 +10226,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10215,7 +10238,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10223,7 +10246,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10233,16 +10256,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10250,12 +10273,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10263,12 +10286,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10276,12 +10299,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10289,7 +10312,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10301,7 +10324,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10310,13 +10333,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10334,7 +10357,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10346,10 +10369,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10392,19 +10415,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10426,7 +10449,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10438,7 +10461,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10446,14 +10469,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10467,19 +10490,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10488,7 +10511,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 624)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10500,7 +10523,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10509,13 +10532,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10533,7 +10556,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10542,49 +10565,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(488)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(512)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(536)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(560)]
                     public byte IsPOD;
@@ -10620,7 +10643,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(592)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(616)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10666,19 +10689,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(624);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10700,7 +10723,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(624);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10712,7 +10735,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10720,15 +10743,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10737,19 +10760,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10759,16 +10782,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10776,12 +10799,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10789,7 +10812,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 624)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10801,7 +10824,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10810,13 +10833,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10834,7 +10857,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10843,49 +10866,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(488)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(512)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(536)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(560)]
                     public byte IsPOD;
@@ -10921,7 +10944,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(592)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(616)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10947,19 +10970,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(624);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10981,7 +11004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(624);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10993,7 +11016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11001,7 +11024,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11010,7 +11033,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11022,7 +11045,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11031,13 +11054,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11055,7 +11078,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11067,10 +11090,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11113,19 +11136,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11147,7 +11170,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11159,7 +11182,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11167,14 +11190,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11188,19 +11211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11209,13 +11232,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11272,19 +11295,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11303,7 +11326,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11314,7 +11337,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11327,15 +11350,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11344,19 +11367,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11366,16 +11389,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11384,16 +11407,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11401,12 +11424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11414,7 +11437,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11426,7 +11449,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11435,13 +11458,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11459,7 +11482,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11471,10 +11494,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11517,19 +11540,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11551,7 +11574,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11563,7 +11586,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11571,14 +11594,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11592,19 +11615,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11613,7 +11636,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 280)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11625,7 +11648,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11634,13 +11657,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11658,7 +11681,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11667,16 +11690,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.__cxx11.basic_string.Internal Mangled;
+                    public global::std.__cxx11.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(240)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(272)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11722,19 +11745,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(280);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11756,7 +11779,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(280);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11768,7 +11791,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11776,15 +11799,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11793,19 +11816,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11815,16 +11838,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11832,12 +11855,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11845,7 +11868,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 280)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11857,7 +11880,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11866,13 +11889,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11890,7 +11913,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11899,16 +11922,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.__cxx11.basic_string.Internal Mangled;
+                    public global::std.__cxx11.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(240)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(272)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11934,19 +11957,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(280);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11968,7 +11991,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(280);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11980,7 +12003,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11988,7 +12011,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11997,7 +12020,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 464)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12009,7 +12032,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12018,13 +12041,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -12042,7 +12065,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -12051,34 +12074,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
@@ -12107,19 +12130,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(464);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12141,7 +12164,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(464);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12153,7 +12176,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12161,7 +12184,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12170,12 +12193,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12183,7 +12206,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12218,19 +12241,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12249,7 +12272,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12257,7 +12280,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12277,12 +12300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12290,12 +12313,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12303,12 +12326,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12316,7 +12339,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12328,10 +12351,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__cxx11.basic_string.Internal Expression;
+                    public global::std.__cxx11.basic_string.__Internal Expression;
 
                     [FieldOffset(88)]
                     public int LineNumberStart;
@@ -12380,19 +12403,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12414,7 +12437,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(96);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12426,7 +12449,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12434,7 +12457,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12443,14 +12466,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12458,14 +12481,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12473,12 +12496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12486,12 +12509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12499,7 +12522,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12511,10 +12534,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.__cxx11.basic_string.Internal Text;
+                    public global::std.__cxx11.basic_string.__Internal Text;
 
                     [FieldOffset(88)]
                     public global::System.IntPtr Definition;
@@ -12560,19 +12583,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12594,7 +12617,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(96);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12606,7 +12629,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12614,7 +12637,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12623,14 +12646,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12638,14 +12661,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12654,16 +12677,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12671,7 +12694,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 528)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12683,7 +12706,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12692,13 +12715,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.__cxx11.basic_string.Internal Name;
+                    public global::std.__cxx11.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.__cxx11.basic_string.Internal USR;
+                    public global::std.__cxx11.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.__cxx11.basic_string.Internal DebugText;
+                    public global::std.__cxx11.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -12716,7 +12739,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -12725,34 +12748,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(456)]
                     public byte IsAnonymous;
@@ -12761,13 +12784,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(464)]
-                    public global::std.__cxx11.basic_string.Internal FileName;
+                    public global::std.__cxx11.basic_string.__Internal FileName;
 
                     [FieldOffset(496)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(504)]
-                    internal global::std.vector.Internal Macros;
+                    internal global::std.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12820,19 +12843,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(528);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12854,7 +12877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(528);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12866,7 +12889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12874,14 +12897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12895,26 +12918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12922,7 +12945,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12931,12 +12954,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12944,19 +12967,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 88)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.__cxx11.basic_string.Internal FileName;
+                    public global::std.__cxx11.basic_string.__Internal FileName;
 
                     [FieldOffset(32)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Symbols;
+                    internal global::std.vector.__Internal Symbols;
 
                     [FieldOffset(64)]
-                    internal global::std.vector.Internal Dependencies;
+                    internal global::std.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13037,19 +13060,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(88);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13068,7 +13091,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(88);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13079,7 +13102,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13092,57 +13115,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13150,7 +13173,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13159,7 +13182,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13168,12 +13191,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13181,10 +13204,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal TranslationUnits;
+                    internal global::std.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13235,19 +13258,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13266,7 +13289,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13277,7 +13300,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13290,14 +13313,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13311,19 +13334,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13332,7 +13355,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13361,19 +13384,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13393,7 +13416,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13401,7 +13424,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13421,12 +13444,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13434,7 +13457,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13460,19 +13483,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13494,7 +13517,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13504,7 +13527,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13513,20 +13536,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Blocks;
+                    internal global::std.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13569,19 +13592,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13603,7 +13626,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13615,7 +13638,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13623,14 +13646,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13644,19 +13667,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13665,7 +13688,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13694,19 +13717,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13728,7 +13751,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13738,7 +13761,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13747,19 +13770,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13767,7 +13790,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13776,7 +13799,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Content;
+                    internal global::std.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13819,19 +13842,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13853,7 +13876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13865,7 +13888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13873,14 +13896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13894,19 +13917,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13915,12 +13938,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13928,7 +13951,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13940,7 +13963,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13986,10 +14009,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 32)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__cxx11.basic_string.Internal Text;
+                        public global::std.__cxx11.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14030,19 +14053,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(32);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14061,7 +14084,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(32);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14072,7 +14095,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14085,7 +14108,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14094,14 +14117,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14111,19 +14134,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14145,7 +14168,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14155,7 +14178,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14167,7 +14190,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14175,15 +14198,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14192,19 +14215,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14213,12 +14236,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14227,16 +14250,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14244,7 +14267,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14256,7 +14279,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14292,19 +14315,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14326,7 +14349,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14338,7 +14361,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14346,7 +14369,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14355,12 +14378,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14368,12 +14391,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14381,7 +14404,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14393,10 +14416,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Position;
+                    internal global::std.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14439,19 +14462,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14473,7 +14496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14485,7 +14508,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14493,14 +14516,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14509,20 +14532,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14531,13 +14554,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal Text;
+                    public global::std.__cxx11.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14570,19 +14593,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14604,7 +14627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14616,7 +14639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14624,7 +14647,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14633,14 +14656,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14648,7 +14671,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14660,10 +14683,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Lines;
+                    internal global::std.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14706,19 +14729,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14740,7 +14763,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14752,7 +14775,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14760,14 +14783,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14781,19 +14804,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14802,7 +14825,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14814,10 +14837,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    public global::std.__cxx11.basic_string.Internal Text;
+                    public global::std.__cxx11.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14850,19 +14873,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14884,7 +14907,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(72);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14896,7 +14919,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14904,7 +14927,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14913,14 +14936,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14928,7 +14951,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14943,7 +14966,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14992,10 +15015,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 32)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__cxx11.basic_string.Internal Text;
+                        public global::std.__cxx11.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15036,19 +15059,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(32);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15067,7 +15090,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(32);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15078,7 +15101,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15091,7 +15114,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15100,14 +15123,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15117,19 +15140,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15151,7 +15174,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15163,7 +15186,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15171,15 +15194,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15188,19 +15211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15209,12 +15232,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15222,12 +15245,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15235,7 +15258,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15264,19 +15287,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15298,7 +15321,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15308,7 +15331,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15317,14 +15340,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15333,10 +15356,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal TagName;
+                    public global::std.__cxx11.basic_string.__Internal TagName;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Attributes;
+                    internal global::std.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15387,13 +15410,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 64)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.__cxx11.basic_string.Internal Name;
+                        public global::std.__cxx11.basic_string.__Internal Name;
 
                         [FieldOffset(32)]
-                        public global::std.__cxx11.basic_string.Internal Value;
+                        public global::std.__cxx11.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15444,19 +15467,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(64);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15475,7 +15498,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(64);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15486,7 +15509,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15499,7 +15522,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15508,14 +15531,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15523,14 +15546,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15540,19 +15563,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15574,7 +15597,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15586,7 +15609,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15594,15 +15617,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15611,26 +15634,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15638,7 +15661,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15647,7 +15670,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15656,7 +15679,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal TagName;
+                    public global::std.__cxx11.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15689,19 +15712,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15723,7 +15746,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15735,7 +15758,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15743,7 +15766,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15752,14 +15775,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15767,7 +15790,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15776,7 +15799,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal Text;
+                    public global::std.__cxx11.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15809,19 +15832,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15843,7 +15866,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15855,7 +15878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15863,7 +15886,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15872,14 +15895,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15887,16 +15910,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.__cxx11.basic_string.Internal Text;
+                    public global::std.__cxx11.basic_string.__Internal Text;
 
                     [FieldOffset(40)]
-                    public global::std.__cxx11.basic_string.Internal BriefText;
+                    public global::std.__cxx11.basic_string.__Internal BriefText;
 
                     [FieldOffset(72)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15950,19 +15973,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15981,7 +16004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(80);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15992,7 +16015,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16005,7 +16028,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16014,14 +16037,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16029,14 +16052,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16044,12 +16067,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16058,16 +16081,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16082,7 +16105,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16103,20 +16126,20 @@ namespace CppSharp
                 internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16124,15 +16147,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16141,9 +16164,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16185,10 +16208,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 184)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__cxx11.basic_string.Internal ABI;
+                public global::std.__cxx11.basic_string.__Internal ABI;
 
                 [FieldOffset(32)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16343,19 +16366,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(184);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16374,7 +16397,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(184);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16385,7 +16408,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16398,7 +16421,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16407,14 +16430,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16422,12 +16445,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16435,12 +16458,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16448,12 +16471,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16461,12 +16484,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16474,12 +16497,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16487,12 +16510,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16500,12 +16523,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16513,12 +16536,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16526,12 +16549,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16539,12 +16562,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16552,12 +16575,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16565,12 +16588,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16578,12 +16601,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16591,12 +16614,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16604,12 +16627,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16617,12 +16640,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16630,12 +16653,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16643,12 +16666,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16656,12 +16679,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16669,12 +16692,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16682,12 +16705,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16695,12 +16718,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16708,12 +16731,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16721,12 +16744,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16734,12 +16757,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16747,12 +16770,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16760,12 +16783,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16773,12 +16796,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16786,12 +16809,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16799,12 +16822,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16812,12 +16835,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16825,12 +16848,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16838,12 +16861,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16851,12 +16874,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16864,12 +16887,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16877,12 +16900,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16890,12 +16913,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16903,12 +16926,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16963,31 +16986,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 272)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.vector.Internal Arguments;
+                internal global::std.vector.__Internal Arguments;
 
                 [FieldOffset(24)]
-                public global::std.__cxx11.basic_string.Internal LibraryFile;
+                public global::std.__cxx11.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(56)]
-                internal global::std.vector.Internal SourceFiles;
+                internal global::std.vector.__Internal SourceFiles;
 
                 [FieldOffset(80)]
-                internal global::std.vector.Internal IncludeDirs;
+                internal global::std.vector.__Internal IncludeDirs;
 
                 [FieldOffset(104)]
-                internal global::std.vector.Internal SystemIncludeDirs;
+                internal global::std.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(128)]
-                internal global::std.vector.Internal Defines;
+                internal global::std.vector.__Internal Defines;
 
                 [FieldOffset(152)]
-                internal global::std.vector.Internal Undefines;
+                internal global::std.vector.__Internal Undefines;
 
                 [FieldOffset(176)]
-                internal global::std.vector.Internal LibraryDirs;
+                internal global::std.vector.__Internal LibraryDirs;
 
                 [FieldOffset(200)]
                 public global::System.IntPtr ASTContext;
@@ -16996,7 +17019,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(216)]
-                public global::std.__cxx11.basic_string.Internal TargetTriple;
+                public global::std.__cxx11.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(248)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17208,19 +17231,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(272);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17239,7 +17262,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(272);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17250,7 +17273,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17263,135 +17286,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17400,14 +17423,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17415,7 +17438,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17424,7 +17447,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17433,7 +17456,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17442,7 +17465,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17451,7 +17474,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17460,7 +17483,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17469,14 +17492,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17485,16 +17508,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17502,12 +17525,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17515,12 +17538,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17528,12 +17551,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17541,12 +17564,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17554,12 +17577,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17567,12 +17590,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17580,12 +17603,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17594,16 +17617,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17611,13 +17634,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 80)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.__cxx11.basic_string.Internal FileName;
+                public global::std.__cxx11.basic_string.__Internal FileName;
 
                 [FieldOffset(32)]
-                public global::std.__cxx11.basic_string.Internal Message;
+                public global::std.__cxx11.basic_string.__Internal Message;
 
                 [FieldOffset(64)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17677,19 +17700,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(80);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17708,7 +17731,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(80);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17719,7 +17742,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17732,7 +17755,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17741,14 +17764,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17756,14 +17779,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17771,12 +17794,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17784,12 +17807,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17797,12 +17820,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17810,13 +17833,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 56)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(8)]
-                internal global::std.vector.Internal Diagnostics;
+                internal global::std.vector.__Internal Diagnostics;
 
                 [FieldOffset(32)]
                 public global::System.IntPtr ASTContext;
@@ -17876,19 +17899,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(56);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17907,7 +17930,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(56);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17918,7 +17941,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17931,15 +17954,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17948,19 +17971,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17969,12 +17992,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17983,16 +18006,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18001,16 +18024,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18018,7 +18041,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -18054,19 +18077,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18092,7 +18115,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18111,7 +18134,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18123,7 +18146,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18135,7 +18158,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
index bf615f41..48ec9a15 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
@@ -17,7 +17,7 @@ namespace std
     public unsafe partial class __true_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -25,7 +25,7 @@ namespace std
     namespace __truth_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -33,7 +33,7 @@ namespace std
     namespace __is_void
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -41,7 +41,7 @@ namespace std
     namespace __is_integer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -49,7 +49,15 @@ namespace std
     namespace __is_floating
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -57,7 +65,7 @@ namespace std
     namespace __is_char
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -65,7 +73,7 @@ namespace std
     namespace __is_byte
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -73,7 +81,7 @@ namespace std
     public unsafe partial class __false_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -84,7 +92,7 @@ namespace __gnu_cxx
     namespace __add_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -92,7 +100,7 @@ namespace __gnu_cxx
     namespace __remove_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -100,7 +108,7 @@ namespace __gnu_cxx
     namespace __promote
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -119,7 +127,7 @@ namespace std
     namespace integral_constant
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -127,7 +135,7 @@ namespace std
     namespace __is_void_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -135,7 +143,7 @@ namespace std
     namespace __is_integral_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -143,7 +151,47 @@ namespace std
     namespace __is_floating_point_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_lvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_rvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_object_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_function_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -151,7 +199,23 @@ namespace std
     namespace __is_null_pointer_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -159,7 +223,7 @@ namespace std
     namespace __make_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -167,7 +231,7 @@ namespace std
     namespace __make_signed
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -175,7 +239,7 @@ namespace std
     public unsafe partial class __failure_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -183,7 +247,7 @@ namespace std
     public unsafe partial class __do_is_destructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -191,7 +255,7 @@ namespace std
     public unsafe partial class __do_is_nt_destructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -199,7 +263,7 @@ namespace std
     public unsafe partial class __do_is_default_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -207,7 +271,7 @@ namespace std
     public unsafe partial class __do_is_static_castable_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -215,7 +279,7 @@ namespace std
     public unsafe partial class __do_is_direct_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -223,7 +287,7 @@ namespace std
     public unsafe partial class __do_is_nary_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -231,7 +295,7 @@ namespace std
     public unsafe partial class __do_common_type_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -239,7 +303,7 @@ namespace std
     public unsafe partial class __do_member_type_wrapper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -247,7 +311,7 @@ namespace std
     public unsafe partial class __result_of_memfun_ref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -255,7 +319,7 @@ namespace std
     public unsafe partial class __result_of_memfun_deref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -263,7 +327,7 @@ namespace std
     public unsafe partial class __result_of_memobj_ref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -271,7 +335,7 @@ namespace std
     public unsafe partial class __result_of_memobj_deref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -279,7 +343,7 @@ namespace std
     public unsafe partial class __result_of_other_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -290,7 +354,7 @@ namespace std
     namespace pair
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal_Ptr
+        public unsafe partial struct __Internal_Ptr
         {
             [FieldOffset(0)]
             public global::System.IntPtr first;
@@ -303,7 +367,7 @@ namespace std
     public unsafe partial class piecewise_construct_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -311,10 +375,18 @@ namespace std
 
 namespace std
 {
+    namespace iterator_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
     namespace iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -322,7 +394,7 @@ namespace std
     public unsafe partial class input_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -330,7 +402,7 @@ namespace std
     public unsafe partial class output_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -338,7 +410,7 @@ namespace std
     public unsafe partial class forward_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -346,7 +418,7 @@ namespace std
     public unsafe partial class bidirectional_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -354,7 +426,7 @@ namespace std
     public unsafe partial class random_access_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -366,6 +438,13 @@ namespace std
 
 namespace std
 {
+    namespace pointer_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
 }
 
 namespace __gnu_cxx
@@ -383,7 +462,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_less_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -391,7 +470,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_less_val
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -399,7 +478,7 @@ namespace __gnu_cxx
         public unsafe partial class _Val_less_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -407,7 +486,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_equal_to_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -415,7 +494,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_equal_to_val
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -427,7 +506,7 @@ namespace std
     namespace __copy_move
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -435,7 +514,7 @@ namespace std
     namespace __copy_move_backward
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -443,7 +522,7 @@ namespace std
     namespace __equal
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -451,7 +530,7 @@ namespace std
     namespace __lc_rai
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -459,7 +538,7 @@ namespace std
     namespace __lexicographical_compare
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -470,7 +549,7 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -480,7 +559,7 @@ namespace std
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -495,7 +574,7 @@ namespace std
         public unsafe partial class exception_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _M_exception_object;
@@ -509,13 +588,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_nested_exception;
 
             [FieldOffset(8)]
-            internal global::std.__exception_ptr.exception_ptr.Internal _M_ptr;
+            internal global::std.__exception_ptr.exception_ptr.__Internal _M_ptr;
         }
     }
 }
@@ -525,7 +604,7 @@ namespace std
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -535,7 +614,7 @@ namespace std
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -545,7 +624,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -556,7 +635,7 @@ namespace __gnu_cxx
     namespace new_allocator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -564,7 +643,7 @@ namespace __gnu_cxx
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -584,7 +663,7 @@ namespace std
     public unsafe partial class allocator : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -610,19 +689,19 @@ namespace std
             return new allocator(native.ToPointer(), skipVTables);
         }
 
-        public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+        public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
         {
             return new allocator(native, skipVTables);
         }
 
-        private static void* __CopyValue(allocator.Internal native)
+        private static void* __CopyValue(allocator.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(0);
-            *(allocator.Internal*) ret = native;
+            *(allocator.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private allocator(allocator.Internal native, bool skipVTables = false)
+        private allocator(allocator.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -641,7 +720,7 @@ namespace std
             __Instance = Marshal.AllocHGlobal(0);
             __ownsNativeInstance = true;
             NativeToManagedMap[__Instance] = this;
-            Internal.ctor_0((__Instance + __PointerAdjustment));
+            __Internal.ctor_0((__Instance + __PointerAdjustment));
         }
 
         public void Dispose()
@@ -654,7 +733,7 @@ namespace std
             global::std.allocator __dummy;
             NativeToManagedMap.TryRemove(__Instance, out __dummy);
             if (disposing)
-                Internal.dtor_0((__Instance + __PointerAdjustment));
+                __Internal.dtor_0((__Instance + __PointerAdjustment));
             if (__ownsNativeInstance)
                 Marshal.FreeHGlobal(__Instance);
         }
@@ -664,7 +743,7 @@ namespace std
     public unsafe partial class rebind
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -675,7 +754,7 @@ namespace __gnu_cxx
     namespace __alloc_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -683,7 +762,7 @@ namespace __gnu_cxx
         public unsafe static partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -695,7 +774,7 @@ namespace std
     namespace allocator_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -703,7 +782,7 @@ namespace std
         public unsafe static partial class __allocate_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -712,7 +791,7 @@ namespace std
         public unsafe static partial class __construct_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -721,7 +800,7 @@ namespace std
         public unsafe static partial class __destroy_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -730,7 +809,7 @@ namespace std
         public unsafe static partial class __maxsize_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -739,7 +818,7 @@ namespace std
         public unsafe static partial class __select_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -751,7 +830,7 @@ namespace std
     namespace _Destroy_aux
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -762,7 +841,7 @@ namespace std
     namespace __uninitialized_copy
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -770,7 +849,7 @@ namespace std
     namespace __uninitialized_fill
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -778,7 +857,7 @@ namespace std
     namespace __uninitialized_fill_n
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -786,7 +865,7 @@ namespace std
     namespace __uninitialized_default_1
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -794,7 +873,7 @@ namespace std
     namespace __uninitialized_default_n_1
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -805,17 +884,17 @@ namespace std
     namespace _Vector_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Vector_base._Vector_impl.Internal _M_impl;
+            internal global::std._Vector_base._Vector_impl.__Internal _M_impl;
         }
 
 
         public unsafe partial class _Vector_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -824,10 +903,10 @@ namespace std
     namespace vector
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Vector_base._Vector_impl.Internal _M_impl;
+            internal global::std._Vector_base._Vector_impl.__Internal _M_impl;
         }
     }
 }
@@ -847,7 +926,7 @@ namespace std
     public unsafe partial class _Bit_reference
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -860,7 +939,7 @@ namespace std
     public unsafe partial class _Bit_iterator_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -873,7 +952,7 @@ namespace std
     public unsafe partial class _Bit_iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -886,7 +965,7 @@ namespace std
     public unsafe partial class _Bit_const_iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -902,7 +981,7 @@ namespace std
     namespace __hash_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -910,7 +989,7 @@ namespace std
     namespace __is_fast_hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -918,7 +997,7 @@ namespace std
     public unsafe partial class _Hash_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -926,7 +1005,7 @@ namespace std
     public unsafe partial class _Fnv_hash_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -941,7 +1020,7 @@ namespace std
     namespace binary_function
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -949,7 +1028,7 @@ namespace std
     namespace less
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -970,17 +1049,17 @@ namespace std
     namespace _Rb_tree
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Rb_tree._Rb_tree_impl.Internal _M_impl;
+            internal global::std._Rb_tree._Rb_tree_impl.__Internal _M_impl;
         }
 
 
         public unsafe partial class _Reuse_or_alloc_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -989,7 +1068,7 @@ namespace std
         public unsafe partial class _Alloc_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -998,7 +1077,7 @@ namespace std
         public unsafe partial class _Rb_tree_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -1007,7 +1086,7 @@ namespace std
     public unsafe partial class _Rb_tree_node_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::std._Rb_tree_color _M_color;
@@ -1033,17 +1112,17 @@ namespace std
     namespace map
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Rb_tree.Internal _M_t;
+            internal global::std._Rb_tree.__Internal _M_t;
         }
 
 
         public unsafe partial class value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -1055,7 +1134,7 @@ namespace std
     namespace tuple
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1063,7 +1142,7 @@ namespace std
     public unsafe partial class _Swallow_assign
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -1081,7 +1160,7 @@ namespace std
     namespace _Build_index_tuple
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1105,19 +1184,19 @@ namespace std
 public unsafe partial class __mbstate_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __count;
 
         [FieldOffset(4)]
-        internal global::__mbstate_t._.Internal __value;
+        internal global::__mbstate_t._.__Internal __value;
     }
 
     public unsafe partial struct _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __wch;
@@ -1140,7 +1219,7 @@ public unsafe partial class __mbstate_t
 public unsafe partial class __locale_struct
 {
     [StructLayout(LayoutKind.Explicit, Size = 232)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed long __locales[13];
@@ -1191,7 +1270,7 @@ public unsafe partial class __locale_struct
         public global::System.IntPtr __ctype_toupper;
 
         [FieldOffset(128)]
-        public global::System.IntPtr* __names;
+        public global::System.IntPtr __names;
 
         [FieldOffset(136)]
         public global::System.IntPtr __dummy___names_1;
@@ -1242,33 +1321,33 @@ public enum __codecvt_result : uint
 public unsafe partial class _G_fpos_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __pos;
 
         [FieldOffset(8)]
-        internal global::__mbstate_t.Internal __state;
+        internal global::__mbstate_t.__Internal __state;
     }
 }
 
 public unsafe partial class _G_fpos64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __pos;
 
         [FieldOffset(8)]
-        internal global::__mbstate_t.Internal __state;
+        internal global::__mbstate_t.__Internal __state;
     }
 }
 
 public unsafe partial class _IO_marker
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _next;
@@ -1284,7 +1363,7 @@ public unsafe partial class _IO_marker
 public unsafe partial class _IO_FILE
 {
     [StructLayout(LayoutKind.Explicit, Size = 216)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int _flags;
@@ -1435,7 +1514,7 @@ public unsafe partial class _IO_FILE
 public unsafe partial class _IO_cookie_io_functions_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr read;
@@ -1460,7 +1539,7 @@ namespace std
     namespace char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1473,7 +1552,7 @@ namespace __gnu_cxx
 public unsafe partial class lconv
 {
     [StructLayout(LayoutKind.Explicit, Size = 96)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr decimal_point;
@@ -1559,7 +1638,7 @@ namespace std
 public unsafe partial class __fsid_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __val[2];
@@ -1598,7 +1677,7 @@ namespace __cxxabiv1
     public unsafe abstract partial class __forced_unwind
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr___forced_unwind;
@@ -1613,7 +1692,7 @@ namespace std
 public unsafe partial class timespec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -1626,7 +1705,7 @@ public unsafe partial class timespec
 public unsafe partial class timeval
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -1639,7 +1718,7 @@ public unsafe partial class timeval
 public unsafe partial class timex
 {
     [StructLayout(LayoutKind.Explicit, Size = 208)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint modes;
@@ -1669,7 +1748,7 @@ public unsafe partial class timex
         public long tolerance;
 
         [FieldOffset(72)]
-        internal global::timeval.Internal time;
+        internal global::timeval.__Internal time;
 
         [FieldOffset(88)]
         public long tick;
@@ -1739,7 +1818,7 @@ public unsafe partial class timex
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -1779,20 +1858,20 @@ public unsafe partial class tm
 public unsafe partial class itimerspec
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::timespec.Internal it_interval;
+        internal global::timespec.__Internal it_interval;
 
         [FieldOffset(16)]
-        internal global::timespec.Internal it_value;
+        internal global::timespec.__Internal it_value;
     }
 }
 
 public unsafe partial class sched_param
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sched_priority;
@@ -1802,7 +1881,7 @@ public unsafe partial class sched_param
 public unsafe partial class __sched_param
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sched_priority;
@@ -1812,7 +1891,7 @@ public unsafe partial class __sched_param
 public unsafe partial class cpu_set_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ulong __bits[16];
@@ -1867,7 +1946,7 @@ public unsafe partial class cpu_set_t
 public unsafe partial struct pthread_attr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[56];
@@ -2045,7 +2124,7 @@ public unsafe partial struct pthread_attr_t
 public unsafe partial class __pthread_internal_list
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __prev;
@@ -2058,10 +2137,10 @@ public unsafe partial class __pthread_internal_list
 public unsafe partial struct pthread_mutex_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 40)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_mutex_t.__pthread_mutex_s.Internal __data;
+        internal global::pthread_mutex_t.__pthread_mutex_s.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[40];
@@ -2190,7 +2269,7 @@ public unsafe partial struct pthread_mutex_t
     public unsafe partial class __pthread_mutex_s
     {
         [StructLayout(LayoutKind.Explicit, Size = 40)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2214,7 +2293,7 @@ public unsafe partial struct pthread_mutex_t
             public short __elision;
 
             [FieldOffset(24)]
-            internal global::__pthread_internal_list.Internal __list;
+            internal global::__pthread_internal_list.__Internal __list;
         }
     }
 }
@@ -2222,7 +2301,7 @@ public unsafe partial struct pthread_mutex_t
 public unsafe partial struct pthread_mutexattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2244,10 +2323,10 @@ public unsafe partial struct pthread_mutexattr_t
 public unsafe partial struct pthread_cond_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_cond_t._.Internal __data;
+        internal global::pthread_cond_t._.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[48];
@@ -2400,7 +2479,7 @@ public unsafe partial struct pthread_cond_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2432,7 +2511,7 @@ public unsafe partial struct pthread_cond_t
 public unsafe partial struct pthread_condattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2454,10 +2533,10 @@ public unsafe partial struct pthread_condattr_t
 public unsafe partial struct pthread_rwlock_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_rwlock_t._.Internal __data;
+        internal global::pthread_rwlock_t._.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[56];
@@ -2634,7 +2713,7 @@ public unsafe partial struct pthread_rwlock_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 56)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2696,7 +2775,7 @@ public unsafe partial struct pthread_rwlock_t
 public unsafe partial struct pthread_rwlockattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[8];
@@ -2730,7 +2809,7 @@ public unsafe partial struct pthread_rwlockattr_t
 public unsafe partial struct pthread_barrier_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[32];
@@ -2836,7 +2915,7 @@ public unsafe partial struct pthread_barrier_t
 public unsafe partial struct pthread_barrierattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2930,7 +3009,7 @@ public enum PTHREAD_CANCEL_ : uint
 public unsafe partial class _pthread_cleanup_buffer
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __routine;
@@ -2949,13 +3028,13 @@ public unsafe partial class _pthread_cleanup_buffer
 public unsafe partial class __pthread_unwind_buf_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 104)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte __cancel_jmp_buf[72];
 
         [FieldOffset(72)]
-        public void** __pad;
+        public void* __pad;
 
         [FieldOffset(80)]
         public global::System.IntPtr __dummy___pad_1;
@@ -2970,7 +3049,7 @@ public unsafe partial class __pthread_unwind_buf_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 72)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public fixed long __cancel_jmp_buf[8];
@@ -3005,7 +3084,7 @@ public unsafe partial class __pthread_unwind_buf_t
 public unsafe partial class __pthread_cleanup_frame
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __cancel_routine;
@@ -3028,16 +3107,16 @@ namespace std
         public unsafe partial class basic_string : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public unsafe partial struct Internal
+            public unsafe partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__cxx11.basic_string._Alloc_hider.Internal _M_dataplus;
+                internal global::std.__cxx11.basic_string._Alloc_hider.__Internal _M_dataplus;
 
                 [FieldOffset(8)]
                 public ulong _M_string_length;
 
                 [FieldOffset(16)]
-                internal global::std.__cxx11.basic_string._.Internal _;
+                internal global::std.__cxx11.basic_string._.__Internal _;
 
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3058,7 +3137,7 @@ namespace std
             public unsafe partial class _Alloc_hider
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr _M_p;
@@ -3068,7 +3147,7 @@ namespace std
             public unsafe partial struct _
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public fixed sbyte _M_local_buf[16];
@@ -3136,19 +3215,19 @@ namespace std
                 return new basic_string(native.ToPointer(), skipVTables);
             }
 
-            public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+            public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
             {
                 return new basic_string(native, skipVTables);
             }
 
-            private static void* __CopyValue(basic_string.Internal native)
+            private static void* __CopyValue(basic_string.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(32);
-                *(basic_string.Internal*) ret = native;
+                *(basic_string.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private basic_string(basic_string.Internal native, bool skipVTables = false)
+            private basic_string(basic_string.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -3172,14 +3251,14 @@ namespace std
                 global::std.__cxx11.basic_string __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string c_str()
             {
-                var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+                var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
                 return Marshal.PtrToStringAnsi(__ret);
             }
         }
@@ -3188,7 +3267,7 @@ namespace std
         public unsafe partial class _Alloc_hider
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -3197,7 +3276,7 @@ namespace std
         public unsafe partial struct _
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3218,22 +3297,22 @@ public enum idtype_t : uint
 public unsafe partial struct wait
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int w_status;
 
         [FieldOffset(0)]
-        internal global::wait._.Internal __wait_terminated;
+        internal global::wait._.__Internal __wait_terminated;
 
         [FieldOffset(0)]
-        internal global::wait.__.Internal __wait_stopped;
+        internal global::wait.__.__Internal __wait_stopped;
     }
 
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __w_termsig;
@@ -3252,7 +3331,7 @@ public unsafe partial struct wait
     public unsafe partial class __
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __w_stopval;
@@ -3269,7 +3348,7 @@ public unsafe partial struct wait
 public unsafe partial class div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -3282,7 +3361,7 @@ public unsafe partial class div_t
 public unsafe partial class ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -3295,7 +3374,7 @@ public unsafe partial class ldiv_t
 public unsafe partial class lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -3308,7 +3387,7 @@ public unsafe partial class lldiv_t
 public unsafe partial class random_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr fptr;
@@ -3336,7 +3415,7 @@ public unsafe partial class random_data
 public unsafe partial class drand48_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort __x[3];
@@ -3370,7 +3449,7 @@ public unsafe partial class drand48_data
 public unsafe partial class __sigset_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ulong __val[16];
@@ -3425,7 +3504,7 @@ public unsafe partial class __sigset_t
 public unsafe partial class fd_set
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed long fds_bits[16];
@@ -3493,16 +3572,16 @@ namespace std
     public unsafe partial class __cow_string
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std.__cow_string._.Internal _;
+            internal global::std.__cow_string._.__Internal _;
         }
 
         public unsafe partial struct _
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _M_p;
@@ -3537,117 +3616,117 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            internal global::std.__cow_string.Internal _M_msg;
+            internal global::std.__cow_string.__Internal _M_msg;
         }
     }
 }
@@ -3657,7 +3736,7 @@ namespace std
     public unsafe partial class allocator_arg_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3665,7 +3744,7 @@ namespace std
     public unsafe partial class __uses_alloc_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3673,16 +3752,16 @@ namespace std
     public unsafe partial class __uses_alloc0
     {
         [StructLayout(LayoutKind.Explicit, Size = 1)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std.__uses_alloc0._Sink.Internal _M_a;
+            internal global::std.__uses_alloc0._Sink.__Internal _M_a;
         }
 
         public unsafe partial class _Sink
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3709,7 +3788,7 @@ namespace std
     namespace __uninitialized_construct_buf_dispatch
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3754,7 +3833,7 @@ namespace std
     namespace numeric_limits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3762,7 +3841,7 @@ namespace std
     public unsafe partial class __numeric_limits_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
index 80d3d281..a1a28332 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(24)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal Components;
+                    internal global::std.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3123,7 +3130,7 @@ namespace CppSharp
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
                         EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")]
-                    internal static extern global::CppSharp.Parser.AST.VTableComponent.Internal getComponents_0(global::System.IntPtr instance, uint i);
+                    internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal getComponents_0(global::System.IntPtr instance, uint i);
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,14 +3216,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = Internal.getComponents_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getComponents_0((__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3225,19 +3232,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3246,7 +3253,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3258,7 +3265,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3289,19 +3296,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3320,7 +3327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3331,7 +3338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3344,7 +3351,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3353,12 +3360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3366,12 +3373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3379,12 +3386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3392,12 +3399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3405,16 +3412,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr FieldPtr;
@@ -3458,19 +3465,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3489,7 +3496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3500,7 +3507,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3513,7 +3520,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3522,14 +3529,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3537,12 +3544,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3550,12 +3557,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3563,12 +3570,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3576,7 +3583,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3613,19 +3620,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3644,7 +3651,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3655,7 +3662,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3668,7 +3675,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3677,12 +3684,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3691,16 +3698,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3708,16 +3715,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal VFTables;
+                    internal global::std.vector.__Internal VFTables;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(56)]
                     public byte HasOwnVFPtr;
@@ -3735,10 +3742,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(88)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(112)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3829,19 +3836,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3860,7 +3867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(136);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3871,7 +3878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3884,15 +3891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3901,18 +3908,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3921,18 +3928,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3941,19 +3948,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3962,7 +3969,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3971,7 +3978,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3980,12 +3987,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3993,12 +4000,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4006,12 +4013,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4019,12 +4026,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4032,12 +4039,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4045,12 +4052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4058,12 +4065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4071,7 +4078,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4083,7 +4090,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4092,13 +4099,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -4116,7 +4123,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -4203,19 +4210,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4235,7 +4242,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4246,7 +4253,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4259,14 +4266,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4280,26 +4287,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4307,14 +4314,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4322,14 +4329,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4337,7 +4344,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4346,12 +4353,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4359,12 +4366,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4373,16 +4380,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4390,12 +4397,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4403,12 +4410,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4416,12 +4423,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4429,12 +4436,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4442,12 +4449,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4455,12 +4462,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4469,16 +4476,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4486,12 +4493,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4499,12 +4506,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4513,16 +4520,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4530,7 +4537,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 392)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4542,7 +4549,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4551,13 +4558,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -4575,7 +4582,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -4584,34 +4591,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
@@ -4817,19 +4824,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(392);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4852,7 +4859,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4864,7 +4871,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4872,14 +4879,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4893,17 +4900,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4917,17 +4924,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4941,17 +4948,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4965,17 +4972,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4989,17 +4996,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5013,17 +5020,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5037,17 +5044,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5061,17 +5068,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5085,19 +5092,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5106,7 +5113,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5115,7 +5122,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5124,7 +5131,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5133,7 +5140,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5142,7 +5149,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5151,7 +5158,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5160,7 +5167,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5169,7 +5176,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5178,12 +5185,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5191,7 +5198,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5203,7 +5210,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5212,13 +5219,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -5236,7 +5243,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -5245,7 +5252,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5268,19 +5275,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5303,7 +5310,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5315,7 +5322,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5323,7 +5330,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5332,12 +5339,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5345,7 +5352,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5357,7 +5364,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5366,13 +5373,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -5390,7 +5397,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -5399,7 +5406,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5422,19 +5429,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5456,7 +5463,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(136);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5468,7 +5475,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5476,7 +5483,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5485,7 +5492,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5497,7 +5504,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5506,13 +5513,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -5530,7 +5537,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -5539,7 +5546,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5565,19 +5572,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5599,7 +5606,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(144);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5611,7 +5618,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5619,7 +5626,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5629,16 +5636,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5646,7 +5653,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5658,7 +5665,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5667,13 +5674,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -5691,7 +5698,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -5723,19 +5730,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5757,7 +5764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(128);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5769,7 +5776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5777,7 +5784,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5787,16 +5794,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5804,7 +5811,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5813,7 +5820,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5849,19 +5856,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5883,7 +5890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5896,7 +5903,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5905,14 +5912,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5920,12 +5927,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5934,16 +5941,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5951,7 +5958,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5960,7 +5967,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5978,19 +5985,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6015,7 +6022,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6023,7 +6030,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6032,7 +6039,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6041,7 +6048,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr LHS;
@@ -6050,7 +6057,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal OpcodeStr;
+                    public global::std.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6078,19 +6085,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6115,7 +6122,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6123,7 +6130,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6132,14 +6139,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6148,16 +6155,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6166,16 +6173,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6183,7 +6190,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6192,10 +6199,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(24)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6233,19 +6240,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6270,7 +6277,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6278,14 +6285,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6299,19 +6306,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6320,7 +6327,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6329,10 +6336,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(24)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6370,19 +6377,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6407,7 +6414,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6415,14 +6422,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6436,19 +6443,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6457,7 +6464,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6469,7 +6476,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6478,13 +6485,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -6502,7 +6509,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -6511,7 +6518,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public byte IsIndirect;
@@ -6546,19 +6553,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6580,7 +6587,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6592,7 +6599,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6600,7 +6607,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6609,12 +6616,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6622,12 +6629,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6635,12 +6642,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6648,12 +6655,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6662,16 +6669,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6679,7 +6686,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 216)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6691,7 +6698,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6700,13 +6707,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -6724,7 +6731,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -6733,7 +6740,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(136)]
                     public byte IsReturnIndirect;
@@ -6757,16 +6764,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(152)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(160)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(168)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6835,19 +6842,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(216);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6869,7 +6876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(216);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6881,7 +6888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6889,14 +6896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6910,26 +6917,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6937,14 +6944,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6952,7 +6959,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6961,12 +6968,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6974,12 +6981,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6987,12 +6994,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7000,12 +7007,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7013,12 +7020,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7026,12 +7033,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7039,12 +7046,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7052,12 +7059,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7065,12 +7072,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7079,16 +7086,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7097,24 +7104,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 256)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7126,7 +7133,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7135,13 +7142,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -7159,7 +7166,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -7168,7 +7175,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(136)]
                     public byte IsReturnIndirect;
@@ -7192,16 +7199,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(152)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(160)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(168)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(176)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(200)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7237,7 +7244,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(232)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(248)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7260,19 +7270,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(256);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7291,22 +7301,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(248);
+                    __Instance = Marshal.AllocHGlobal(256);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(248);
+                    __Instance = Marshal.AllocHGlobal(256);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7314,7 +7324,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7323,12 +7333,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7336,12 +7346,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7349,12 +7359,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7362,12 +7372,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7375,12 +7385,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7388,12 +7398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7401,12 +7411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7414,12 +7424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7427,12 +7437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7440,12 +7450,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7453,7 +7476,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 432)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7465,7 +7488,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7474,13 +7497,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -7498,7 +7521,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -7507,34 +7530,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
@@ -7549,7 +7572,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(408)]
-                    internal global::std.vector.Internal Items;
+                    internal global::std.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7598,7 +7621,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 136)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7610,7 +7633,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(16)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(20)]
                         public int LineNumberStart;
@@ -7619,13 +7642,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(32)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(40)]
-                        public global::std.basic_string.Internal USR;
+                        public global::std.basic_string.__Internal USR;
 
                         [FieldOffset(48)]
-                        public global::std.basic_string.Internal DebugText;
+                        public global::std.basic_string.__Internal DebugText;
 
                         [FieldOffset(56)]
                         public byte IsIncomplete;
@@ -7643,7 +7666,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(80)]
-                        internal global::std.vector.Internal PreprocessedEntities;
+                        internal global::std.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(104)]
                         public global::System.IntPtr OriginalPtr;
@@ -7652,7 +7675,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(120)]
-                        public global::std.basic_string.Internal Expression;
+                        public global::std.basic_string.__Internal Expression;
 
                         [FieldOffset(128)]
                         public ulong Value;
@@ -7688,19 +7711,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(136);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7722,7 +7745,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(136);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7734,7 +7757,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7742,7 +7765,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7751,14 +7774,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7766,12 +7789,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7781,19 +7804,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(432);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7815,7 +7838,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(432);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7827,7 +7850,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7835,14 +7858,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7856,19 +7879,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7877,12 +7900,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7891,16 +7914,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7909,16 +7932,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7926,7 +7949,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 144)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7938,7 +7961,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7947,13 +7970,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -7971,7 +7994,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -7980,10 +8003,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8016,19 +8039,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(144);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8050,7 +8073,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(144);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8062,7 +8085,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8070,7 +8093,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8079,14 +8102,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8094,12 +8117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8107,7 +8130,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8145,19 +8168,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8176,7 +8199,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8184,7 +8207,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8204,12 +8227,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8217,12 +8240,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8231,16 +8254,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8248,12 +8271,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8261,7 +8284,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8273,7 +8296,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8282,13 +8305,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -8306,7 +8329,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -8315,7 +8338,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(136)]
                     public global::System.IntPtr Class;
@@ -8347,19 +8370,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8381,7 +8404,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8393,7 +8416,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8401,7 +8424,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8410,12 +8433,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8424,16 +8447,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8441,12 +8464,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8454,12 +8477,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8467,7 +8490,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 120)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8479,7 +8502,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8488,13 +8511,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -8512,7 +8535,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -8541,19 +8564,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(120);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8575,7 +8598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(120);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8587,7 +8610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8595,7 +8618,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8604,7 +8627,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 512)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8616,7 +8639,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8625,13 +8648,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -8649,7 +8672,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -8658,49 +8681,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
 
                     [FieldOffset(392)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(416)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(440)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(488)]
                     public byte IsPOD;
@@ -8833,19 +8856,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(512);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8867,7 +8890,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(512);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8879,7 +8902,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8887,14 +8910,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8908,17 +8931,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8932,17 +8955,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8956,17 +8979,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8980,19 +9003,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9001,7 +9024,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9010,7 +9033,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9019,7 +9042,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9028,12 +9051,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9041,12 +9064,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9054,12 +9077,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9067,12 +9090,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9080,12 +9103,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9093,12 +9116,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9106,12 +9129,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9119,12 +9142,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9132,12 +9155,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9146,16 +9169,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9163,7 +9186,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9175,7 +9198,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9184,13 +9207,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -9208,7 +9231,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -9220,7 +9243,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9268,19 +9291,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9303,7 +9326,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9312,7 +9335,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9324,7 +9347,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9332,14 +9355,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9353,19 +9376,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9375,16 +9398,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9392,7 +9415,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9404,7 +9427,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9413,13 +9436,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -9437,7 +9460,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -9449,7 +9472,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9472,19 +9495,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9506,7 +9529,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9518,7 +9541,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9526,7 +9549,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9535,7 +9558,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 136)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9547,7 +9570,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9556,13 +9579,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -9580,7 +9603,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -9618,19 +9641,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(136);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9653,7 +9676,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9665,7 +9688,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9673,7 +9696,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9682,12 +9705,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9695,12 +9718,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9708,12 +9731,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9721,7 +9744,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 160)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9733,7 +9756,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9742,13 +9765,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -9766,7 +9789,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -9778,7 +9801,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
                     public byte IsParameterPack;
@@ -9810,19 +9833,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(160);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9844,7 +9867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(160);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9856,7 +9879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9864,7 +9887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9873,12 +9896,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9886,12 +9909,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9899,12 +9922,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9912,7 +9935,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9924,7 +9947,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9933,13 +9956,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -9957,7 +9980,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -9975,7 +9998,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(136)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9998,19 +10021,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10032,7 +10055,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10044,7 +10067,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10052,7 +10075,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10061,12 +10084,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10074,7 +10097,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 152)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10086,7 +10109,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10095,13 +10118,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -10119,7 +10142,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -10169,19 +10192,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(152);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10203,7 +10226,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(152);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10215,7 +10238,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10223,7 +10246,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10233,16 +10256,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10250,12 +10273,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10263,12 +10286,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10276,12 +10299,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10289,7 +10312,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 176)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10301,7 +10324,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10310,13 +10333,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -10334,7 +10357,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -10346,10 +10369,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10392,19 +10415,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(176);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10426,7 +10449,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(176);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10438,7 +10461,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10446,14 +10469,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10467,19 +10490,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10488,7 +10511,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 552)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10500,7 +10523,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10509,13 +10532,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -10533,7 +10556,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -10542,49 +10565,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
 
                     [FieldOffset(392)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(416)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(440)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(488)]
                     public byte IsPOD;
@@ -10620,7 +10643,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(520)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(544)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10666,19 +10689,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(552);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10700,7 +10723,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(552);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10712,7 +10735,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10720,15 +10743,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10737,19 +10760,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10759,16 +10782,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10776,12 +10799,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10789,7 +10812,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 552)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10801,7 +10824,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10810,13 +10833,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -10834,7 +10857,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -10843,49 +10866,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
 
                     [FieldOffset(392)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(416)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(440)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(464)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(488)]
                     public byte IsPOD;
@@ -10921,7 +10944,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(520)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(544)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10947,19 +10970,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(552);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10981,7 +11004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(552);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10993,7 +11016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11001,7 +11024,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11010,7 +11033,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 176)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11022,7 +11045,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11031,13 +11054,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -11055,7 +11078,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -11067,10 +11090,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11113,19 +11136,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(176);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11147,7 +11170,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(176);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11159,7 +11182,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11167,14 +11190,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11188,19 +11211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11209,13 +11232,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11272,19 +11295,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11303,7 +11326,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11314,7 +11337,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11327,15 +11350,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11344,19 +11367,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11366,16 +11389,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11384,16 +11407,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11401,12 +11424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11414,7 +11437,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 176)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11426,7 +11449,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11435,13 +11458,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -11459,7 +11482,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -11471,10 +11494,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(128)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11517,19 +11540,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(176);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11551,7 +11574,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(176);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11563,7 +11586,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11571,14 +11594,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11592,19 +11615,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11613,7 +11636,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11625,7 +11648,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11634,13 +11657,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -11658,7 +11681,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -11667,16 +11690,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(144)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(176)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11722,19 +11745,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11756,7 +11779,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(184);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11768,7 +11791,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11776,15 +11799,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11793,19 +11816,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11815,16 +11838,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11832,12 +11855,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11845,7 +11868,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 184)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11857,7 +11880,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11866,13 +11889,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -11890,7 +11913,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -11899,16 +11922,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(128)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(144)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(176)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11934,19 +11957,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(184);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11968,7 +11991,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(184);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11980,7 +12003,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11988,7 +12011,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11997,7 +12020,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 392)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12009,7 +12032,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12018,13 +12041,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -12042,7 +12065,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -12051,34 +12074,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
@@ -12107,19 +12130,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(392);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12141,7 +12164,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(392);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12153,7 +12176,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12161,7 +12184,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12170,12 +12193,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12183,7 +12206,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12218,19 +12241,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12249,7 +12272,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12257,7 +12280,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12277,12 +12300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12290,12 +12313,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12303,12 +12326,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12316,7 +12339,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12328,10 +12351,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Expression;
+                    public global::std.basic_string.__Internal Expression;
 
                     [FieldOffset(40)]
                     public int LineNumberStart;
@@ -12380,19 +12403,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12414,7 +12437,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12426,7 +12449,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12434,7 +12457,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12443,14 +12466,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12458,14 +12481,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12473,12 +12496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12486,12 +12509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12499,7 +12522,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12511,10 +12534,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(40)]
                     public global::System.IntPtr Definition;
@@ -12560,19 +12583,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12594,7 +12617,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12606,7 +12629,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12614,7 +12637,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12623,14 +12646,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12638,14 +12661,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12654,16 +12677,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12671,7 +12694,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 432)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12683,7 +12706,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12692,13 +12715,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(48)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(56)]
                     public byte IsIncomplete;
@@ -12716,7 +12739,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(104)]
                     public global::System.IntPtr OriginalPtr;
@@ -12725,34 +12748,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(120)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(144)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(168)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(336)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(384)]
                     public byte IsAnonymous;
@@ -12761,13 +12784,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(392)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(400)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(408)]
-                    internal global::std.vector.Internal Macros;
+                    internal global::std.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12820,19 +12843,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(432);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12854,7 +12877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(432);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12866,7 +12889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12874,14 +12897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12895,26 +12918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12922,7 +12945,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12931,12 +12954,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12944,19 +12967,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(8)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Symbols;
+                    internal global::std.vector.__Internal Symbols;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Dependencies;
+                    internal global::std.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13037,19 +13060,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13068,7 +13091,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13079,7 +13102,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13092,57 +13115,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13150,7 +13173,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13159,7 +13182,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13168,12 +13191,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13181,10 +13204,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal TranslationUnits;
+                    internal global::std.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13235,19 +13258,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13266,7 +13289,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13277,7 +13300,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13290,14 +13313,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13311,19 +13334,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13332,7 +13355,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13361,19 +13384,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13393,7 +13416,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13401,7 +13424,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13421,12 +13444,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13434,7 +13457,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13460,19 +13483,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13494,7 +13517,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13504,7 +13527,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13513,20 +13536,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Blocks;
+                    internal global::std.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13569,19 +13592,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13603,7 +13626,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13615,7 +13638,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13623,14 +13646,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13644,19 +13667,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13665,7 +13688,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13694,19 +13717,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13728,7 +13751,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13738,7 +13761,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13747,19 +13770,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13767,7 +13790,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13776,7 +13799,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Content;
+                    internal global::std.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13819,19 +13842,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13853,7 +13876,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13865,7 +13888,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13873,14 +13896,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13894,19 +13917,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13915,12 +13938,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13928,7 +13951,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13940,7 +13963,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13986,10 +14009,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 8)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14030,19 +14053,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(8);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14061,7 +14084,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(8);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14072,7 +14095,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14085,7 +14108,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14094,14 +14117,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14111,19 +14134,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14145,7 +14168,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14155,7 +14178,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14167,7 +14190,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14175,15 +14198,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14192,19 +14215,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14213,12 +14236,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14227,16 +14250,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14244,7 +14267,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14256,7 +14279,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14292,19 +14315,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14326,7 +14349,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14338,7 +14361,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14346,7 +14369,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14355,12 +14378,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14368,12 +14391,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14381,7 +14404,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14393,10 +14416,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Position;
+                    internal global::std.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14439,19 +14462,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14473,7 +14496,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14485,7 +14508,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14493,14 +14516,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14509,20 +14532,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14531,13 +14554,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14570,19 +14593,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14604,7 +14627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14616,7 +14639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14624,7 +14647,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14633,14 +14656,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14648,7 +14671,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14660,10 +14683,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Lines;
+                    internal global::std.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14706,19 +14729,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14740,7 +14763,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14752,7 +14775,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14760,14 +14783,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14781,19 +14804,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14802,7 +14825,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14814,10 +14837,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14850,19 +14873,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14884,7 +14907,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14896,7 +14919,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14904,7 +14927,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14913,14 +14936,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14928,7 +14951,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14943,7 +14966,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14992,10 +15015,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 8)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15036,19 +15059,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(8);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15067,7 +15090,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(8);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15078,7 +15101,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15091,7 +15114,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15100,14 +15123,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15117,19 +15140,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15151,7 +15174,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15163,7 +15186,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15171,15 +15194,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15188,19 +15211,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15209,12 +15232,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15222,12 +15245,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15235,7 +15258,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15264,19 +15287,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15298,7 +15321,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15308,7 +15331,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15317,14 +15340,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15333,10 +15356,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Attributes;
+                    internal global::std.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15387,13 +15410,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 16)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(8)]
-                        public global::std.basic_string.Internal Value;
+                        public global::std.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15444,19 +15467,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(16);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15475,7 +15498,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(16);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15486,7 +15509,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15499,7 +15522,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment));
+                            __Internal.dtor_0((__Instance + __PointerAdjustment));
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15508,14 +15531,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15523,14 +15546,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15540,19 +15563,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15574,7 +15597,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15586,7 +15609,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15594,15 +15617,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15611,26 +15634,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15638,7 +15661,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15647,7 +15670,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15656,7 +15679,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15689,19 +15712,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15723,7 +15746,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15735,7 +15758,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15743,7 +15766,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15752,14 +15775,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15767,7 +15790,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15776,7 +15799,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15809,19 +15832,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15843,7 +15866,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15855,7 +15878,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15863,7 +15886,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15872,14 +15895,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15887,16 +15910,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal BriefText;
+                    public global::std.basic_string.__Internal BriefText;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15950,19 +15973,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15981,7 +16004,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15992,7 +16015,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16005,7 +16028,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment));
+                        __Internal.dtor_0((__Instance + __PointerAdjustment));
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16014,14 +16037,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16029,14 +16052,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16044,12 +16067,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16058,16 +16081,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16082,7 +16105,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16103,20 +16126,20 @@ namespace CppSharp
                 internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16124,15 +16147,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16141,9 +16164,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16185,10 +16208,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 160)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal ABI;
+                public global::std.basic_string.__Internal ABI;
 
                 [FieldOffset(8)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16343,19 +16366,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(160);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16374,7 +16397,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(160);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16385,7 +16408,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16398,7 +16421,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16407,14 +16430,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16422,12 +16445,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16435,12 +16458,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16448,12 +16471,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16461,12 +16484,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16474,12 +16497,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16487,12 +16510,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16500,12 +16523,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16513,12 +16536,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16526,12 +16549,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16539,12 +16562,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16552,12 +16575,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16565,12 +16588,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16578,12 +16601,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16591,12 +16614,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16604,12 +16627,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16617,12 +16640,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16630,12 +16653,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16643,12 +16666,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16656,12 +16679,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16669,12 +16692,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16682,12 +16705,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16695,12 +16718,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16708,12 +16731,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16721,12 +16744,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16734,12 +16757,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16747,12 +16770,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16760,12 +16783,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16773,12 +16796,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16786,12 +16809,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16799,12 +16822,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16812,12 +16835,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16825,12 +16848,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16838,12 +16861,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16851,12 +16874,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16864,12 +16887,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16877,12 +16900,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16890,12 +16913,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16903,12 +16926,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16963,31 +16986,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 224)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.vector.Internal Arguments;
+                internal global::std.vector.__Internal Arguments;
 
                 [FieldOffset(24)]
-                public global::std.basic_string.Internal LibraryFile;
+                public global::std.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(32)]
-                internal global::std.vector.Internal SourceFiles;
+                internal global::std.vector.__Internal SourceFiles;
 
                 [FieldOffset(56)]
-                internal global::std.vector.Internal IncludeDirs;
+                internal global::std.vector.__Internal IncludeDirs;
 
                 [FieldOffset(80)]
-                internal global::std.vector.Internal SystemIncludeDirs;
+                internal global::std.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(104)]
-                internal global::std.vector.Internal Defines;
+                internal global::std.vector.__Internal Defines;
 
                 [FieldOffset(128)]
-                internal global::std.vector.Internal Undefines;
+                internal global::std.vector.__Internal Undefines;
 
                 [FieldOffset(152)]
-                internal global::std.vector.Internal LibraryDirs;
+                internal global::std.vector.__Internal LibraryDirs;
 
                 [FieldOffset(176)]
                 public global::System.IntPtr ASTContext;
@@ -16996,7 +17019,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(192)]
-                public global::std.basic_string.Internal TargetTriple;
+                public global::std.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(200)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17208,19 +17231,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(224);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17239,7 +17262,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(224);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17250,7 +17273,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17263,135 +17286,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17400,14 +17423,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17415,7 +17438,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17424,7 +17447,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17433,7 +17456,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17442,7 +17465,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17451,7 +17474,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17460,7 +17483,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17469,14 +17492,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17485,16 +17508,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17502,12 +17525,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17515,12 +17538,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17528,12 +17551,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17541,12 +17564,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17554,12 +17577,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17567,12 +17590,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17580,12 +17603,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17594,16 +17617,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17611,13 +17634,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal FileName;
+                public global::std.basic_string.__Internal FileName;
 
                 [FieldOffset(8)]
-                public global::std.basic_string.Internal Message;
+                public global::std.basic_string.__Internal Message;
 
                 [FieldOffset(16)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17677,19 +17700,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(32);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17708,7 +17731,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(32);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17719,7 +17742,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17732,7 +17755,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17741,14 +17764,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17756,14 +17779,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17771,12 +17794,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17784,12 +17807,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17797,12 +17820,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17810,13 +17833,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 56)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(8)]
-                internal global::std.vector.Internal Diagnostics;
+                internal global::std.vector.__Internal Diagnostics;
 
                 [FieldOffset(32)]
                 public global::System.IntPtr ASTContext;
@@ -17876,19 +17899,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(56);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17907,7 +17930,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(56);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17918,7 +17941,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17931,15 +17954,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment));
+                    __Internal.dtor_0((__Instance + __PointerAdjustment));
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17948,19 +17971,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17969,12 +17992,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17983,16 +18006,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18001,16 +18024,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18018,7 +18041,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -18054,19 +18077,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18092,7 +18115,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18111,7 +18134,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18123,7 +18146,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18135,7 +18158,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
index f4fef86e..1d97f694 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
@@ -17,7 +17,7 @@ namespace std
     public unsafe partial class __true_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -25,7 +25,7 @@ namespace std
     namespace __truth_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -33,7 +33,7 @@ namespace std
     namespace __is_void
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -41,7 +41,7 @@ namespace std
     namespace __is_integer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -49,7 +49,15 @@ namespace std
     namespace __is_floating
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -57,7 +65,7 @@ namespace std
     namespace __is_char
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -65,7 +73,7 @@ namespace std
     namespace __is_byte
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -73,7 +81,7 @@ namespace std
     public unsafe partial class __false_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -84,7 +92,7 @@ namespace __gnu_cxx
     namespace __add_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -92,7 +100,7 @@ namespace __gnu_cxx
     namespace __remove_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -100,7 +108,7 @@ namespace __gnu_cxx
     namespace __promote
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -119,7 +127,7 @@ namespace std
     namespace integral_constant
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -127,7 +135,7 @@ namespace std
     namespace __is_void_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -135,7 +143,7 @@ namespace std
     namespace __is_integral_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -143,7 +151,47 @@ namespace std
     namespace __is_floating_point_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_lvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_rvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_object_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_function_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -151,7 +199,23 @@ namespace std
     namespace __is_null_pointer_helper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace __is_member_pointer_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -159,7 +223,7 @@ namespace std
     namespace __make_unsigned
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -167,7 +231,7 @@ namespace std
     namespace __make_signed
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -175,7 +239,7 @@ namespace std
     public unsafe partial class __failure_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -183,7 +247,7 @@ namespace std
     public unsafe partial class __do_is_destructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -191,7 +255,7 @@ namespace std
     public unsafe partial class __do_is_nt_destructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -199,7 +263,7 @@ namespace std
     public unsafe partial class __do_is_default_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -207,7 +271,7 @@ namespace std
     public unsafe partial class __do_is_static_castable_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -215,7 +279,7 @@ namespace std
     public unsafe partial class __do_is_direct_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -223,7 +287,7 @@ namespace std
     public unsafe partial class __do_is_nary_constructible_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -231,7 +295,7 @@ namespace std
     public unsafe partial class __do_common_type_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -239,7 +303,7 @@ namespace std
     public unsafe partial class __do_member_type_wrapper
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -247,7 +311,7 @@ namespace std
     public unsafe partial class __result_of_memfun_ref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -255,7 +319,7 @@ namespace std
     public unsafe partial class __result_of_memfun_deref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -263,7 +327,7 @@ namespace std
     public unsafe partial class __result_of_memobj_ref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -271,7 +335,7 @@ namespace std
     public unsafe partial class __result_of_memobj_deref_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -279,7 +343,7 @@ namespace std
     public unsafe partial class __result_of_other_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -290,7 +354,7 @@ namespace std
     namespace pair
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal_Ptr
+        public unsafe partial struct __Internal_Ptr
         {
             [FieldOffset(0)]
             public global::System.IntPtr first;
@@ -303,7 +367,7 @@ namespace std
     public unsafe partial class piecewise_construct_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -311,10 +375,18 @@ namespace std
 
 namespace std
 {
+    namespace iterator_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
     namespace iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -322,7 +394,7 @@ namespace std
     public unsafe partial class input_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -330,7 +402,7 @@ namespace std
     public unsafe partial class output_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -338,7 +410,7 @@ namespace std
     public unsafe partial class forward_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -346,7 +418,7 @@ namespace std
     public unsafe partial class bidirectional_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -354,7 +426,7 @@ namespace std
     public unsafe partial class random_access_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -366,6 +438,13 @@ namespace std
 
 namespace std
 {
+    namespace pointer_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
 }
 
 namespace __gnu_cxx
@@ -383,7 +462,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_less_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -391,7 +470,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_less_val
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -399,7 +478,7 @@ namespace __gnu_cxx
         public unsafe partial class _Val_less_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -407,7 +486,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_equal_to_iter
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -415,7 +494,7 @@ namespace __gnu_cxx
         public unsafe partial class _Iter_equal_to_val
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -427,7 +506,7 @@ namespace std
     namespace __copy_move
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -435,7 +514,7 @@ namespace std
     namespace __copy_move_backward
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -443,7 +522,7 @@ namespace std
     namespace __equal
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -451,7 +530,7 @@ namespace std
     namespace __lc_rai
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -459,7 +538,7 @@ namespace std
     namespace __lexicographical_compare
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -470,7 +549,7 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -480,7 +559,7 @@ namespace std
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -495,7 +574,7 @@ namespace std
         public unsafe partial class exception_ptr
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _M_exception_object;
@@ -509,13 +588,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_nested_exception;
 
             [FieldOffset(8)]
-            internal global::std.__exception_ptr.exception_ptr.Internal _M_ptr;
+            internal global::std.__exception_ptr.exception_ptr.__Internal _M_ptr;
         }
     }
 }
@@ -525,7 +604,7 @@ namespace std
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -535,7 +614,7 @@ namespace std
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
@@ -545,7 +624,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -556,7 +635,7 @@ namespace __gnu_cxx
     namespace new_allocator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -564,7 +643,7 @@ namespace __gnu_cxx
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -584,7 +663,7 @@ namespace std
     public unsafe partial class allocator : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -610,19 +689,19 @@ namespace std
             return new allocator(native.ToPointer(), skipVTables);
         }
 
-        public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+        public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
         {
             return new allocator(native, skipVTables);
         }
 
-        private static void* __CopyValue(allocator.Internal native)
+        private static void* __CopyValue(allocator.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(0);
-            *(allocator.Internal*) ret = native;
+            *(allocator.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private allocator(allocator.Internal native, bool skipVTables = false)
+        private allocator(allocator.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -641,7 +720,7 @@ namespace std
             __Instance = Marshal.AllocHGlobal(0);
             __ownsNativeInstance = true;
             NativeToManagedMap[__Instance] = this;
-            Internal.ctor_0((__Instance + __PointerAdjustment));
+            __Internal.ctor_0((__Instance + __PointerAdjustment));
         }
 
         public void Dispose()
@@ -654,7 +733,7 @@ namespace std
             global::std.allocator __dummy;
             NativeToManagedMap.TryRemove(__Instance, out __dummy);
             if (disposing)
-                Internal.dtor_0((__Instance + __PointerAdjustment));
+                __Internal.dtor_0((__Instance + __PointerAdjustment));
             if (__ownsNativeInstance)
                 Marshal.FreeHGlobal(__Instance);
         }
@@ -664,7 +743,7 @@ namespace std
     public unsafe partial class rebind
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -675,7 +754,7 @@ namespace __gnu_cxx
     namespace __alloc_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -683,7 +762,7 @@ namespace __gnu_cxx
         public unsafe static partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -695,7 +774,7 @@ namespace std
     namespace allocator_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -703,7 +782,7 @@ namespace std
         public unsafe static partial class __allocate_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -712,7 +791,7 @@ namespace std
         public unsafe static partial class __construct_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -721,7 +800,7 @@ namespace std
         public unsafe static partial class __destroy_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -730,7 +809,7 @@ namespace std
         public unsafe static partial class __maxsize_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -739,7 +818,7 @@ namespace std
         public unsafe static partial class __select_helper
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -751,7 +830,7 @@ namespace std
     namespace _Destroy_aux
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -762,7 +841,7 @@ namespace std
     namespace __uninitialized_copy
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -770,7 +849,7 @@ namespace std
     namespace __uninitialized_fill
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -778,7 +857,7 @@ namespace std
     namespace __uninitialized_fill_n
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -786,7 +865,7 @@ namespace std
     namespace __uninitialized_default_1
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -794,7 +873,7 @@ namespace std
     namespace __uninitialized_default_n_1
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -805,17 +884,17 @@ namespace std
     namespace _Vector_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Vector_base._Vector_impl.Internal _M_impl;
+            internal global::std._Vector_base._Vector_impl.__Internal _M_impl;
         }
 
 
         public unsafe partial class _Vector_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -824,10 +903,10 @@ namespace std
     namespace vector
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Vector_base._Vector_impl.Internal _M_impl;
+            internal global::std._Vector_base._Vector_impl.__Internal _M_impl;
         }
     }
 }
@@ -847,7 +926,7 @@ namespace std
     public unsafe partial class _Bit_reference
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -860,7 +939,7 @@ namespace std
     public unsafe partial class _Bit_iterator_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -873,7 +952,7 @@ namespace std
     public unsafe partial class _Bit_iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -886,7 +965,7 @@ namespace std
     public unsafe partial class _Bit_const_iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _M_p;
@@ -902,7 +981,7 @@ namespace std
     namespace __hash_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -910,7 +989,7 @@ namespace std
     namespace __is_fast_hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -918,7 +997,7 @@ namespace std
     public unsafe partial class _Hash_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -926,7 +1005,7 @@ namespace std
     public unsafe partial class _Fnv_hash_impl
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -941,7 +1020,7 @@ namespace std
     namespace binary_function
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -949,7 +1028,7 @@ namespace std
     namespace less
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -970,17 +1049,17 @@ namespace std
     namespace _Rb_tree
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Rb_tree._Rb_tree_impl.Internal _M_impl;
+            internal global::std._Rb_tree._Rb_tree_impl.__Internal _M_impl;
         }
 
 
         public unsafe partial class _Reuse_or_alloc_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -989,7 +1068,7 @@ namespace std
         public unsafe partial class _Alloc_node
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -998,7 +1077,7 @@ namespace std
         public unsafe partial class _Rb_tree_impl
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -1007,7 +1086,7 @@ namespace std
     public unsafe partial class _Rb_tree_node_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::std._Rb_tree_color _M_color;
@@ -1033,17 +1112,17 @@ namespace std
     namespace map
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Rb_tree.Internal _M_t;
+            internal global::std._Rb_tree.__Internal _M_t;
         }
 
 
         public unsafe partial class value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -1055,7 +1134,7 @@ namespace std
     namespace tuple
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1063,7 +1142,7 @@ namespace std
     public unsafe partial class _Swallow_assign
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -1081,7 +1160,7 @@ namespace std
     namespace _Build_index_tuple
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1098,19 +1177,19 @@ namespace std
 public unsafe partial class __mbstate_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __count;
 
         [FieldOffset(4)]
-        internal global::__mbstate_t._.Internal __value;
+        internal global::__mbstate_t._.__Internal __value;
     }
 
     public unsafe partial struct _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __wch;
@@ -1133,7 +1212,7 @@ public unsafe partial class __mbstate_t
 public unsafe partial class __locale_struct
 {
     [StructLayout(LayoutKind.Explicit, Size = 232)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed long __locales[13];
@@ -1184,7 +1263,7 @@ public unsafe partial class __locale_struct
         public global::System.IntPtr __ctype_toupper;
 
         [FieldOffset(128)]
-        public global::System.IntPtr* __names;
+        public global::System.IntPtr __names;
 
         [FieldOffset(136)]
         public global::System.IntPtr __dummy___names_1;
@@ -1235,33 +1314,33 @@ public enum __codecvt_result : uint
 public unsafe partial class _G_fpos_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __pos;
 
         [FieldOffset(8)]
-        internal global::__mbstate_t.Internal __state;
+        internal global::__mbstate_t.__Internal __state;
     }
 }
 
 public unsafe partial class _G_fpos64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long __pos;
 
         [FieldOffset(8)]
-        internal global::__mbstate_t.Internal __state;
+        internal global::__mbstate_t.__Internal __state;
     }
 }
 
 public unsafe partial class _IO_marker
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _next;
@@ -1277,7 +1356,7 @@ public unsafe partial class _IO_marker
 public unsafe partial class _IO_FILE
 {
     [StructLayout(LayoutKind.Explicit, Size = 216)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int _flags;
@@ -1428,7 +1507,7 @@ public unsafe partial class _IO_FILE
 public unsafe partial class _IO_cookie_io_functions_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr read;
@@ -1453,7 +1532,7 @@ namespace std
     namespace char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -1466,7 +1545,7 @@ namespace __gnu_cxx
 public unsafe partial class lconv
 {
     [StructLayout(LayoutKind.Explicit, Size = 96)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr decimal_point;
@@ -1549,7 +1628,7 @@ namespace std
 public unsafe partial class __fsid_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed int __val[2];
@@ -1585,7 +1664,7 @@ namespace __cxxabiv1
     public unsafe abstract partial class __forced_unwind
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr___forced_unwind;
@@ -1600,7 +1679,7 @@ namespace std
 public unsafe partial class timespec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -1613,7 +1692,7 @@ public unsafe partial class timespec
 public unsafe partial class timeval
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long tv_sec;
@@ -1626,7 +1705,7 @@ public unsafe partial class timeval
 public unsafe partial class timex
 {
     [StructLayout(LayoutKind.Explicit, Size = 208)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint modes;
@@ -1656,7 +1735,7 @@ public unsafe partial class timex
         public long tolerance;
 
         [FieldOffset(72)]
-        internal global::timeval.Internal time;
+        internal global::timeval.__Internal time;
 
         [FieldOffset(88)]
         public long tick;
@@ -1726,7 +1805,7 @@ public unsafe partial class timex
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -1766,20 +1845,20 @@ public unsafe partial class tm
 public unsafe partial class itimerspec
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::timespec.Internal it_interval;
+        internal global::timespec.__Internal it_interval;
 
         [FieldOffset(16)]
-        internal global::timespec.Internal it_value;
+        internal global::timespec.__Internal it_value;
     }
 }
 
 public unsafe partial class sched_param
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sched_priority;
@@ -1789,7 +1868,7 @@ public unsafe partial class sched_param
 public unsafe partial class __sched_param
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int __sched_priority;
@@ -1799,7 +1878,7 @@ public unsafe partial class __sched_param
 public unsafe partial class cpu_set_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ulong __bits[16];
@@ -1854,7 +1933,7 @@ public unsafe partial class cpu_set_t
 public unsafe partial struct pthread_attr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[56];
@@ -2032,7 +2111,7 @@ public unsafe partial struct pthread_attr_t
 public unsafe partial class __pthread_internal_list
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __prev;
@@ -2045,10 +2124,10 @@ public unsafe partial class __pthread_internal_list
 public unsafe partial struct pthread_mutex_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 40)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_mutex_t.__pthread_mutex_s.Internal __data;
+        internal global::pthread_mutex_t.__pthread_mutex_s.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[40];
@@ -2177,7 +2256,7 @@ public unsafe partial struct pthread_mutex_t
     public unsafe partial class __pthread_mutex_s
     {
         [StructLayout(LayoutKind.Explicit, Size = 40)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2201,7 +2280,7 @@ public unsafe partial struct pthread_mutex_t
             public short __elision;
 
             [FieldOffset(24)]
-            internal global::__pthread_internal_list.Internal __list;
+            internal global::__pthread_internal_list.__Internal __list;
         }
     }
 }
@@ -2209,7 +2288,7 @@ public unsafe partial struct pthread_mutex_t
 public unsafe partial struct pthread_mutexattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2231,10 +2310,10 @@ public unsafe partial struct pthread_mutexattr_t
 public unsafe partial struct pthread_cond_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_cond_t._.Internal __data;
+        internal global::pthread_cond_t._.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[48];
@@ -2387,7 +2466,7 @@ public unsafe partial struct pthread_cond_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2419,7 +2498,7 @@ public unsafe partial struct pthread_cond_t
 public unsafe partial struct pthread_condattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2441,10 +2520,10 @@ public unsafe partial struct pthread_condattr_t
 public unsafe partial struct pthread_rwlock_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
-        internal global::pthread_rwlock_t._.Internal __data;
+        internal global::pthread_rwlock_t._.__Internal __data;
 
         [FieldOffset(0)]
         public fixed sbyte __size[56];
@@ -2621,7 +2700,7 @@ public unsafe partial struct pthread_rwlock_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 56)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int __lock;
@@ -2683,7 +2762,7 @@ public unsafe partial struct pthread_rwlock_t
 public unsafe partial struct pthread_rwlockattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[8];
@@ -2717,7 +2796,7 @@ public unsafe partial struct pthread_rwlockattr_t
 public unsafe partial struct pthread_barrier_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[32];
@@ -2823,7 +2902,7 @@ public unsafe partial struct pthread_barrier_t
 public unsafe partial struct pthread_barrierattr_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte __size[4];
@@ -2917,7 +2996,7 @@ public enum PTHREAD_CANCEL_ : uint
 public unsafe partial class _pthread_cleanup_buffer
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __routine;
@@ -2936,13 +3015,13 @@ public unsafe partial class _pthread_cleanup_buffer
 public unsafe partial class __pthread_unwind_buf_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 104)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte __cancel_jmp_buf[72];
 
         [FieldOffset(72)]
-        public void** __pad;
+        public void* __pad;
 
         [FieldOffset(80)]
         public global::System.IntPtr __dummy___pad_1;
@@ -2957,7 +3036,7 @@ public unsafe partial class __pthread_unwind_buf_t
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 72)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public fixed long __cancel_jmp_buf[8];
@@ -2992,7 +3071,7 @@ public unsafe partial class __pthread_unwind_buf_t
 public unsafe partial class __pthread_cleanup_frame
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr __cancel_routine;
@@ -3013,10 +3092,10 @@ namespace std
     public unsafe partial class basic_string : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std.basic_string._Alloc_hider.Internal _M_dataplus;
+            internal global::std.basic_string._Alloc_hider.__Internal _M_dataplus;
 
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3032,7 +3111,7 @@ namespace std
         public unsafe partial class _Alloc_hider
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _M_p;
@@ -3042,7 +3121,7 @@ namespace std
         public unsafe partial class _Rep_base
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public ulong _M_length;
@@ -3058,7 +3137,7 @@ namespace std
         public unsafe partial class _Rep
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public ulong _M_length;
@@ -3084,19 +3163,19 @@ namespace std
             return new basic_string(native.ToPointer(), skipVTables);
         }
 
-        public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+        public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
         {
             return new basic_string(native, skipVTables);
         }
 
-        private static void* __CopyValue(basic_string.Internal native)
+        private static void* __CopyValue(basic_string.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(8);
-            *(basic_string.Internal*) ret = native;
+            *(basic_string.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private basic_string(basic_string.Internal native, bool skipVTables = false)
+        private basic_string(basic_string.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -3120,14 +3199,14 @@ namespace std
             global::std.basic_string __dummy;
             NativeToManagedMap.TryRemove(__Instance, out __dummy);
             if (disposing)
-                Internal.dtor_0((__Instance + __PointerAdjustment));
+                __Internal.dtor_0((__Instance + __PointerAdjustment));
             if (__ownsNativeInstance)
                 Marshal.FreeHGlobal(__Instance);
         }
 
         public string c_str()
         {
-            var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+            var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
             return Marshal.PtrToStringAnsi(__ret);
         }
     }
@@ -3136,7 +3215,7 @@ namespace std
     public unsafe partial class _Rep_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
 
@@ -3145,7 +3224,7 @@ namespace std
     public unsafe partial class _Rep
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
 
@@ -3154,7 +3233,7 @@ namespace std
     public unsafe partial class _Alloc_hider
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3174,22 +3253,22 @@ public enum idtype_t : uint
 public unsafe partial struct wait
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int w_status;
 
         [FieldOffset(0)]
-        internal global::wait._.Internal __wait_terminated;
+        internal global::wait._.__Internal __wait_terminated;
 
         [FieldOffset(0)]
-        internal global::wait.__.Internal __wait_stopped;
+        internal global::wait.__.__Internal __wait_stopped;
     }
 
     public unsafe partial class _
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __w_termsig;
@@ -3208,7 +3287,7 @@ public unsafe partial struct wait
     public unsafe partial class __
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public uint __w_stopval;
@@ -3225,7 +3304,7 @@ public unsafe partial struct wait
 public unsafe partial class div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -3238,7 +3317,7 @@ public unsafe partial class div_t
 public unsafe partial class ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -3251,7 +3330,7 @@ public unsafe partial class ldiv_t
 public unsafe partial class lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -3264,7 +3343,7 @@ public unsafe partial class lldiv_t
 public unsafe partial class random_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr fptr;
@@ -3292,7 +3371,7 @@ public unsafe partial class random_data
 public unsafe partial class drand48_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort __x[3];
@@ -3326,7 +3405,7 @@ public unsafe partial class drand48_data
 public unsafe partial class __sigset_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ulong __val[16];
@@ -3381,7 +3460,7 @@ public unsafe partial class __sigset_t
 public unsafe partial class fd_set
 {
     [StructLayout(LayoutKind.Explicit, Size = 128)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed long fds_bits[16];
@@ -3442,19 +3521,19 @@ namespace std
     public unsafe partial class __sso_string
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std.__sso_string._.Internal _;
+            internal global::std.__sso_string._.__Internal _;
         }
 
         public unsafe partial struct _
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.__sso_string.__str.Internal _M_s;
+                internal global::std.__sso_string.__str.__Internal _M_s;
 
                 [FieldOffset(0)]
                 public fixed sbyte _M_bytes[32];
@@ -3557,7 +3636,7 @@ namespace std
         public unsafe partial class __str
         {
             [StructLayout(LayoutKind.Explicit, Size = 32)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _M_p;
@@ -3619,117 +3698,117 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vptr_exception;
 
             [FieldOffset(8)]
-            public global::std.basic_string.Internal _M_msg;
+            public global::std.basic_string.__Internal _M_msg;
         }
     }
 }
@@ -3739,7 +3818,7 @@ namespace std
     public unsafe partial class allocator_arg_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3747,7 +3826,7 @@ namespace std
     public unsafe partial class __uses_alloc_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -3755,16 +3834,16 @@ namespace std
     public unsafe partial class __uses_alloc0
     {
         [StructLayout(LayoutKind.Explicit, Size = 1)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std.__uses_alloc0._Sink.Internal _M_a;
+            internal global::std.__uses_alloc0._Sink.__Internal _M_a;
         }
 
         public unsafe partial class _Sink
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -3791,7 +3870,7 @@ namespace std
     namespace __uninitialized_construct_buf_dispatch
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3836,7 +3915,7 @@ namespace std
     namespace numeric_limits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3844,7 +3923,7 @@ namespace std
     public unsafe partial class __numeric_limits_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
index 9013a668..ca3a05b8 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
@@ -208,6 +208,13 @@ namespace CppSharp
                 UsingDirective = 5
             }
 
+            public enum RefQualifierKind
+            {
+                None = 0,
+                LValue = 1,
+                RValue = 2
+            }
+
             public enum CppAbi
             {
                 Itanium = 0,
@@ -267,7 +274,7 @@ namespace CppSharp
             public unsafe partial class Type : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -299,19 +306,19 @@ namespace CppSharp
                     return new Type(native.ToPointer(), skipVTables);
                 }
 
-                public static Type __CreateInstance(Type.Internal native, bool skipVTables = false)
+                public static Type __CreateInstance(Type.__Internal native, bool skipVTables = false)
                 {
                     return new Type(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Type.Internal native)
+                private static void* __CopyValue(Type.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Type.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Type(Type.Internal native, bool skipVTables = false)
+                private Type(Type.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -331,7 +338,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Type(global::CppSharp.Parser.AST.Type _0)
@@ -342,7 +349,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -362,12 +369,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -375,12 +382,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -388,7 +395,7 @@ namespace CppSharp
             public unsafe partial class TypeQualifiers : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 3)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public byte IsConst;
@@ -418,19 +425,19 @@ namespace CppSharp
                     return new TypeQualifiers(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false)
+                public static TypeQualifiers __CreateInstance(TypeQualifiers.__Internal native, bool skipVTables = false)
                 {
                     return new TypeQualifiers(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeQualifiers.Internal native)
+                private static void* __CopyValue(TypeQualifiers.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(3);
-                    *(TypeQualifiers.Internal*) ret = native;
+                    *(TypeQualifiers.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false)
+                private TypeQualifiers(TypeQualifiers.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -449,7 +456,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(3);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance);
+                    *((TypeQualifiers.__Internal*) __Instance) = *((TypeQualifiers.__Internal*) _0.__Instance);
                 }
 
                 public TypeQualifiers()
@@ -476,12 +483,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -489,12 +496,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVolatile != 0;
+                        return ((__Internal*) __Instance)->IsVolatile != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -502,12 +509,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsRestrict != 0;
+                        return ((__Internal*) __Instance)->IsRestrict != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -515,13 +522,13 @@ namespace CppSharp
             public unsafe partial class QualifiedType : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Type;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers;
+                    public global::CppSharp.Parser.AST.TypeQualifiers.__Internal Qualifiers;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -547,19 +554,19 @@ namespace CppSharp
                     return new QualifiedType(native.ToPointer(), skipVTables);
                 }
 
-                public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false)
+                public static QualifiedType __CreateInstance(QualifiedType.__Internal native, bool skipVTables = false)
                 {
                     return new QualifiedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(QualifiedType.Internal native)
+                private static void* __CopyValue(QualifiedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(QualifiedType.Internal*) ret = native;
+                    *(QualifiedType.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private QualifiedType(QualifiedType.Internal native, bool skipVTables = false)
+                private QualifiedType(QualifiedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -578,7 +585,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0)
@@ -586,7 +593,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance);
+                    *((QualifiedType.__Internal*) __Instance) = *((QualifiedType.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -607,16 +614,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -624,12 +631,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers);
+                        return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((__Internal*) __Instance)->Qualifiers);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -637,7 +644,7 @@ namespace CppSharp
             public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -664,19 +671,19 @@ namespace CppSharp
                     return new TagType(native.ToPointer(), skipVTables);
                 }
 
-                public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false)
+                public static TagType __CreateInstance(TagType.__Internal native, bool skipVTables = false)
                 {
                     return new TagType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TagType.Internal native)
+                private static void* __CopyValue(TagType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TagType(TagType.Internal native, bool skipVTables = false)
+                private TagType(TagType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -698,7 +705,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TagType(global::CppSharp.Parser.AST.TagType _0)
@@ -710,7 +717,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration Declaration
@@ -718,16 +725,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -735,7 +742,7 @@ namespace CppSharp
             public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -744,7 +751,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType;
@@ -779,19 +786,19 @@ namespace CppSharp
                     return new ArrayType(native.ToPointer(), skipVTables);
                 }
 
-                public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false)
+                public static ArrayType __CreateInstance(ArrayType.__Internal native, bool skipVTables = false)
                 {
                     return new ArrayType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ArrayType.Internal native)
+                private static void* __CopyValue(ArrayType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ArrayType(ArrayType.Internal native, bool skipVTables = false)
+                private ArrayType(ArrayType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -813,7 +820,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ArrayType(global::CppSharp.Parser.AST.ArrayType _0)
@@ -825,19 +832,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -845,12 +852,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SizeType;
+                        return ((__Internal*) __Instance)->SizeType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SizeType = value;
+                        ((__Internal*) __Instance)->SizeType = value;
                     }
                 }
 
@@ -858,12 +865,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -871,12 +878,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ElementSize;
+                        return ((__Internal*) __Instance)->ElementSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementSize = value;
+                        ((__Internal*) __Instance)->ElementSize = value;
                     }
                 }
             }
@@ -884,7 +891,7 @@ namespace CppSharp
             public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -893,13 +900,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(32)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -942,19 +949,19 @@ namespace CppSharp
                     return new FunctionType(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false)
+                public static FunctionType __CreateInstance(FunctionType.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionType.Internal native)
+                private static void* __CopyValue(FunctionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionType(FunctionType.Internal native, bool skipVTables = false)
+                private FunctionType(FunctionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -976,7 +983,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionType(global::CppSharp.Parser.AST.FunctionType _0)
@@ -988,7 +995,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -996,14 +1003,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -1017,19 +1024,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1038,12 +1045,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1051,12 +1058,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
             }
@@ -1064,7 +1071,7 @@ namespace CppSharp
             public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1073,7 +1080,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedPointee;
 
                     [FieldOffset(24)]
                     public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier;
@@ -1102,19 +1109,19 @@ namespace CppSharp
                     return new PointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false)
+                public static PointerType __CreateInstance(PointerType.__Internal native, bool skipVTables = false)
                 {
                     return new PointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PointerType.Internal native)
+                private static void* __CopyValue(PointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PointerType(PointerType.Internal native, bool skipVTables = false)
+                private PointerType(PointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1136,7 +1143,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PointerType(global::CppSharp.Parser.AST.PointerType _0)
@@ -1148,19 +1155,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedPointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1168,12 +1175,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifier;
+                        return ((__Internal*) __Instance)->Modifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifier = value;
+                        ((__Internal*) __Instance)->Modifier = value;
                     }
                 }
             }
@@ -1181,7 +1188,7 @@ namespace CppSharp
             public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1190,7 +1197,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1208,19 +1215,19 @@ namespace CppSharp
                     return new MemberPointerType(native.ToPointer(), skipVTables);
                 }
 
-                public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false)
+                public static MemberPointerType __CreateInstance(MemberPointerType.__Internal native, bool skipVTables = false)
                 {
                     return new MemberPointerType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MemberPointerType.Internal native)
+                private static void* __CopyValue(MemberPointerType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MemberPointerType(MemberPointerType.Internal native, bool skipVTables = false)
+                private MemberPointerType(MemberPointerType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1242,7 +1249,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0)
@@ -1254,19 +1261,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Pointee
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1274,7 +1281,7 @@ namespace CppSharp
             public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1301,19 +1308,19 @@ namespace CppSharp
                     return new TypedefType(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false)
+                public static TypedefType __CreateInstance(TypedefType.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefType.Internal native)
+                private static void* __CopyValue(TypedefType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefType(TypedefType.Internal native, bool skipVTables = false)
+                private TypedefType(TypedefType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1335,7 +1342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefType(global::CppSharp.Parser.AST.TypedefType _0)
@@ -1347,7 +1354,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.TypedefNameDecl Declaration
@@ -1355,16 +1362,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypedefNameDecl __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -1372,7 +1379,7 @@ namespace CppSharp
             public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1381,10 +1388,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Modified;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Modified;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Equivalent;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Equivalent;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1402,19 +1409,19 @@ namespace CppSharp
                     return new AttributedType(native.ToPointer(), skipVTables);
                 }
 
-                public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false)
+                public static AttributedType __CreateInstance(AttributedType.__Internal native, bool skipVTables = false)
                 {
                     return new AttributedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AttributedType.Internal native)
+                private static void* __CopyValue(AttributedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AttributedType(AttributedType.Internal native, bool skipVTables = false)
+                private AttributedType(AttributedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1436,7 +1443,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AttributedType(global::CppSharp.Parser.AST.AttributedType _0)
@@ -1448,19 +1455,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Modified
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Modified);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1468,12 +1475,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Equivalent);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1481,7 +1488,7 @@ namespace CppSharp
             public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1490,13 +1497,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Decayed;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Decayed;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Original;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Original;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Pointee;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Pointee;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1514,19 +1521,19 @@ namespace CppSharp
                     return new DecayedType(native.ToPointer(), skipVTables);
                 }
 
-                public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false)
+                public static DecayedType __CreateInstance(DecayedType.__Internal native, bool skipVTables = false)
                 {
                     return new DecayedType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DecayedType.Internal native)
+                private static void* __CopyValue(DecayedType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DecayedType(DecayedType.Internal native, bool skipVTables = false)
+                private DecayedType(DecayedType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1548,7 +1555,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DecayedType(global::CppSharp.Parser.AST.DecayedType _0)
@@ -1560,19 +1567,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Decayed
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Decayed);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1580,12 +1587,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Original);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1593,12 +1600,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Pointee);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1606,13 +1613,13 @@ namespace CppSharp
             public unsafe partial class TemplateArgument : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Type;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Type;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Declaration;
@@ -1656,19 +1663,19 @@ namespace CppSharp
                     return new TemplateArgument(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false)
+                public static TemplateArgument __CreateInstance(TemplateArgument.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateArgument(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateArgument.Internal native)
+                private static void* __CopyValue(TemplateArgument.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    *(TemplateArgument.Internal*) ret = native;
+                    *(TemplateArgument.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private TemplateArgument(TemplateArgument.Internal native, bool skipVTables = false)
+                private TemplateArgument(TemplateArgument.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1687,7 +1694,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0)
@@ -1695,7 +1702,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance);
+                    *((TemplateArgument.__Internal*) __Instance) = *((TemplateArgument.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -1715,12 +1722,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -1728,12 +1735,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Type);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -1742,16 +1749,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1759,12 +1766,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Integral;
+                        return ((__Internal*) __Instance)->Integral;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Integral = value;
+                        ((__Internal*) __Instance)->Integral = value;
                     }
                 }
             }
@@ -1772,7 +1779,7 @@ namespace CppSharp
             public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 56)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1781,13 +1788,13 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -1830,19 +1837,19 @@ namespace CppSharp
                     return new TemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateSpecializationType.Internal native)
+                private static void* __CopyValue(TemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(56);
-                    global::CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false)
+                private TemplateSpecializationType(TemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -1864,7 +1871,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(56);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0)
@@ -1876,7 +1883,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -1884,15 +1891,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -1901,19 +1908,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -1923,16 +1930,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Template __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -1940,12 +1947,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -1953,7 +1960,7 @@ namespace CppSharp
             public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -1962,10 +1969,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2008,19 +2015,19 @@ namespace CppSharp
                     return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                public static DependentTemplateSpecializationType __CreateInstance(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentTemplateSpecializationType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentTemplateSpecializationType.Internal native)
+                private static void* __CopyValue(DependentTemplateSpecializationType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.Internal native, bool skipVTables = false)
+                private DependentTemplateSpecializationType(DependentTemplateSpecializationType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2042,7 +2049,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0)
@@ -2054,7 +2061,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2062,15 +2069,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -2079,19 +2086,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -2100,12 +2107,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2113,7 +2120,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2154,19 +2161,19 @@ namespace CppSharp
                     return new TemplateParameterType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false)
+                public static TemplateParameterType __CreateInstance(TemplateParameterType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterType.Internal native)
+                private static void* __CopyValue(TemplateParameterType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false)
+                private TemplateParameterType(TemplateParameterType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2188,7 +2195,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0)
@@ -2200,7 +2207,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -2208,7 +2215,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Type __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -2218,16 +2225,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeTemplateParameter __result0;
-                        if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter))
-                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter];
-                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter);
+                        if (((__Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Parameter))
+                            __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((__Internal*) __Instance)->Parameter];
+                        else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((__Internal*) __Instance)->Parameter);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -2235,12 +2242,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -2248,12 +2255,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -2261,12 +2268,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -2274,7 +2281,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2283,7 +2290,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Replacement;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Replacement;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2301,19 +2308,19 @@ namespace CppSharp
                     return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameterSubstitutionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native)
+                private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false)
+                private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2335,7 +2342,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0)
@@ -2347,19 +2354,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Replacement
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Replacement);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2367,7 +2374,7 @@ namespace CppSharp
             public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2376,7 +2383,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal InjectedSpecializationType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal InjectedSpecializationType;
 
                     [FieldOffset(24)]
                     public global::System.IntPtr Class;
@@ -2397,19 +2404,19 @@ namespace CppSharp
                     return new InjectedClassNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false)
+                public static InjectedClassNameType __CreateInstance(InjectedClassNameType.__Internal native, bool skipVTables = false)
                 {
                     return new InjectedClassNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InjectedClassNameType.Internal native)
+                private static void* __CopyValue(InjectedClassNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InjectedClassNameType(InjectedClassNameType.Internal native, bool skipVTables = false)
+                private InjectedClassNameType(InjectedClassNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2431,7 +2438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0)
@@ -2443,19 +2450,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->InjectedSpecializationType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2464,16 +2471,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -2481,7 +2488,7 @@ namespace CppSharp
             public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2490,7 +2497,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2508,19 +2515,19 @@ namespace CppSharp
                     return new DependentNameType(native.ToPointer(), skipVTables);
                 }
 
-                public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false)
+                public static DependentNameType __CreateInstance(DependentNameType.__Internal native, bool skipVTables = false)
                 {
                     return new DependentNameType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DependentNameType.Internal native)
+                private static void* __CopyValue(DependentNameType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DependentNameType(DependentNameType.Internal native, bool skipVTables = false)
+                private DependentNameType(DependentNameType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2542,7 +2549,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0)
@@ -2554,19 +2561,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2574,7 +2581,7 @@ namespace CppSharp
             public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2598,19 +2605,19 @@ namespace CppSharp
                     return new PackExpansionType(native.ToPointer(), skipVTables);
                 }
 
-                public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false)
+                public static PackExpansionType __CreateInstance(PackExpansionType.__Internal native, bool skipVTables = false)
                 {
                     return new PackExpansionType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PackExpansionType.Internal native)
+                private static void* __CopyValue(PackExpansionType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    global::CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private PackExpansionType(PackExpansionType.Internal native, bool skipVTables = false)
+                private PackExpansionType(PackExpansionType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2632,7 +2639,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0)
@@ -2644,14 +2651,14 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
             public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2660,10 +2667,10 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal Desugared;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal Desugared;
 
                     [FieldOffset(24)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal BaseType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal BaseType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -2681,19 +2688,19 @@ namespace CppSharp
                     return new UnaryTransformType(native.ToPointer(), skipVTables);
                 }
 
-                public static UnaryTransformType __CreateInstance(UnaryTransformType.Internal native, bool skipVTables = false)
+                public static UnaryTransformType __CreateInstance(UnaryTransformType.__Internal native, bool skipVTables = false)
                 {
                     return new UnaryTransformType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(UnaryTransformType.Internal native)
+                private static void* __CopyValue(UnaryTransformType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.UnaryTransformType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private UnaryTransformType(UnaryTransformType.Internal native, bool skipVTables = false)
+                private UnaryTransformType(UnaryTransformType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2715,7 +2722,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0)
@@ -2727,19 +2734,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType Desugared
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Desugared);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->Desugared);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2747,12 +2754,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->BaseType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->BaseType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->BaseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -2760,7 +2767,7 @@ namespace CppSharp
             public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2769,7 +2776,7 @@ namespace CppSharp
                     public byte IsDependent;
 
                     [FieldOffset(8)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ElementType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ElementType;
 
                     [FieldOffset(24)]
                     public uint NumElements;
@@ -2790,19 +2797,19 @@ namespace CppSharp
                     return new VectorType(native.ToPointer(), skipVTables);
                 }
 
-                public static VectorType __CreateInstance(VectorType.Internal native, bool skipVTables = false)
+                public static VectorType __CreateInstance(VectorType.__Internal native, bool skipVTables = false)
                 {
                     return new VectorType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VectorType.Internal native)
+                private static void* __CopyValue(VectorType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.VectorType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VectorType(VectorType.Internal native, bool skipVTables = false)
+                private VectorType(VectorType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2824,7 +2831,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VectorType(global::CppSharp.Parser.AST.VectorType _0)
@@ -2836,19 +2843,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.QualifiedType ElementType
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ElementType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ElementType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ElementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -2856,12 +2863,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->NumElements;
+                        return ((__Internal*) __Instance)->NumElements;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->NumElements = value;
+                        ((__Internal*) __Instance)->NumElements = value;
                     }
                 }
             }
@@ -2869,7 +2876,7 @@ namespace CppSharp
             public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 12)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.TypeKind Kind;
@@ -2896,19 +2903,19 @@ namespace CppSharp
                     return new BuiltinType(native.ToPointer(), skipVTables);
                 }
 
-                public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false)
+                public static BuiltinType __CreateInstance(BuiltinType.__Internal native, bool skipVTables = false)
                 {
                     return new BuiltinType(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BuiltinType.Internal native)
+                private static void* __CopyValue(BuiltinType.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(12);
-                    global::CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BuiltinType(BuiltinType.Internal native, bool skipVTables = false)
+                private BuiltinType(BuiltinType.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -2930,7 +2937,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(12);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0)
@@ -2942,19 +2949,19 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public global::CppSharp.Parser.AST.PrimitiveType Type
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Type;
+                        return ((__Internal*) __Instance)->Type;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = value;
+                        ((__Internal*) __Instance)->Type = value;
                     }
                 }
             }
@@ -2962,7 +2969,7 @@ namespace CppSharp
             public unsafe partial class VTableComponent : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.VTableComponentKind Kind;
@@ -2997,19 +3004,19 @@ namespace CppSharp
                     return new VTableComponent(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false)
+                public static VTableComponent __CreateInstance(VTableComponent.__Internal native, bool skipVTables = false)
                 {
                     return new VTableComponent(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableComponent.Internal native)
+                private static void* __CopyValue(VTableComponent.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    *(VTableComponent.Internal*) ret = native;
+                    *(VTableComponent.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private VTableComponent(VTableComponent.Internal native, bool skipVTables = false)
+                private VTableComponent(VTableComponent.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3028,7 +3035,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0)
@@ -3036,7 +3043,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance);
+                    *((VTableComponent.__Internal*) __Instance) = *((VTableComponent.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -3056,12 +3063,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -3069,12 +3076,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3083,16 +3090,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3100,10 +3107,10 @@ namespace CppSharp
             public unsafe partial class VTableLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal Components;
+                    internal global::std.vector.__Internal Components;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3154,19 +3161,19 @@ namespace CppSharp
                     return new VTableLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false)
+                public static VTableLayout __CreateInstance(VTableLayout.__Internal native, bool skipVTables = false)
                 {
                     return new VTableLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VTableLayout.Internal native)
+                private static void* __CopyValue(VTableLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VTableLayout(VTableLayout.Internal native, bool skipVTables = false)
+                private VTableLayout(VTableLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3185,7 +3192,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0)
@@ -3196,7 +3203,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3209,15 +3216,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VTableLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VTableComponent getComponents(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.Internal();
-                    Internal.getComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal();
+                    __Internal.getComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret);
                 }
 
@@ -3226,19 +3233,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addComponents_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearComponents()
                 {
-                    Internal.clearComponents_0((__Instance + __PointerAdjustment));
+                    __Internal.clearComponents_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ComponentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getComponentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3247,7 +3254,7 @@ namespace CppSharp
             public unsafe partial class VFTableInfo : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public ulong VBTableIndex;
@@ -3259,7 +3266,7 @@ namespace CppSharp
                     public uint VFPtrFullOffset;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3290,19 +3297,19 @@ namespace CppSharp
                     return new VFTableInfo(native.ToPointer(), skipVTables);
                 }
 
-                public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false)
+                public static VFTableInfo __CreateInstance(VFTableInfo.__Internal native, bool skipVTables = false)
                 {
                     return new VFTableInfo(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VFTableInfo.Internal native)
+                private static void* __CopyValue(VFTableInfo.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VFTableInfo(VFTableInfo.Internal native, bool skipVTables = false)
+                private VFTableInfo(VFTableInfo.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3321,7 +3328,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0)
@@ -3332,7 +3339,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3345,7 +3352,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.VFTableInfo __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3354,12 +3361,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBTableIndex;
+                        return ((__Internal*) __Instance)->VBTableIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBTableIndex = value;
+                        ((__Internal*) __Instance)->VBTableIndex = value;
                     }
                 }
 
@@ -3367,12 +3374,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrOffset;
+                        return ((__Internal*) __Instance)->VFPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrOffset = value;
+                        ((__Internal*) __Instance)->VFPtrOffset = value;
                     }
                 }
 
@@ -3380,12 +3387,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VFPtrFullOffset;
+                        return ((__Internal*) __Instance)->VFPtrFullOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VFPtrFullOffset = value;
+                        ((__Internal*) __Instance)->VFPtrFullOffset = value;
                     }
                 }
 
@@ -3393,12 +3400,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -3406,16 +3413,16 @@ namespace CppSharp
             public unsafe partial class LayoutField : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(40)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(56)]
                     public global::System.IntPtr FieldPtr;
@@ -3459,19 +3466,19 @@ namespace CppSharp
                     return new LayoutField(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false)
+                public static LayoutField __CreateInstance(LayoutField.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutField(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutField.Internal native)
+                private static void* __CopyValue(LayoutField.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutField(LayoutField.Internal native, bool skipVTables = false)
+                private LayoutField(LayoutField.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3490,7 +3497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutField(global::CppSharp.Parser.AST.LayoutField other)
@@ -3501,7 +3508,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3514,7 +3521,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutField __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3523,14 +3530,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -3538,12 +3545,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3551,12 +3558,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -3564,12 +3571,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->FieldPtr;
+                        return ((__Internal*) __Instance)->FieldPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->FieldPtr = (global::System.IntPtr) value;
                     }
                 }
             }
@@ -3577,7 +3584,7 @@ namespace CppSharp
             public unsafe partial class LayoutBase : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 16)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public uint Offset;
@@ -3614,19 +3621,19 @@ namespace CppSharp
                     return new LayoutBase(native.ToPointer(), skipVTables);
                 }
 
-                public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false)
+                public static LayoutBase __CreateInstance(LayoutBase.__Internal native, bool skipVTables = false)
                 {
                     return new LayoutBase(native, skipVTables);
                 }
 
-                private static void* __CopyValue(LayoutBase.Internal native)
+                private static void* __CopyValue(LayoutBase.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(16);
-                    global::CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private LayoutBase(LayoutBase.Internal native, bool skipVTables = false)
+                private LayoutBase(LayoutBase.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3645,7 +3652,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(16);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other)
@@ -3656,7 +3663,7 @@ namespace CppSharp
                     if (ReferenceEquals(other, null))
                         throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = other.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3669,7 +3676,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.LayoutBase __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -3678,12 +3685,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
 
@@ -3692,16 +3699,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -3709,16 +3716,16 @@ namespace CppSharp
             public unsafe partial class ClassLayout : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 128)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CppAbi ABI;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal VFTables;
+                    internal global::std.vector.__Internal VFTables;
 
                     [FieldOffset(32)]
-                    public global::CppSharp.Parser.AST.VTableLayout.Internal Layout;
+                    public global::CppSharp.Parser.AST.VTableLayout.__Internal Layout;
 
                     [FieldOffset(56)]
                     public byte HasOwnVFPtr;
@@ -3736,10 +3743,10 @@ namespace CppSharp
                     public int DataSize;
 
                     [FieldOffset(80)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(104)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -3830,19 +3837,19 @@ namespace CppSharp
                     return new ClassLayout(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false)
+                public static ClassLayout __CreateInstance(ClassLayout.__Internal native, bool skipVTables = false)
                 {
                     return new ClassLayout(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassLayout.Internal native)
+                private static void* __CopyValue(ClassLayout.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(128);
-                    global::CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassLayout(ClassLayout.Internal native, bool skipVTables = false)
+                private ClassLayout(ClassLayout.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -3861,7 +3868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(128);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0)
@@ -3872,7 +3879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -3885,15 +3892,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ClassLayout __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VFTableInfo getVFTables(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.Internal();
-                    Internal.getVFTables_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal();
+                    __Internal.getVFTables_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret);
                 }
 
@@ -3902,18 +3909,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVFTables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVFTables()
                 {
-                    Internal.clearVFTables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVFTables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutField getFields(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutField.Internal();
-                    Internal.getFields_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal();
+                    __Internal.getFields_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret);
                 }
 
@@ -3922,18 +3929,18 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.LayoutBase getBases(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.Internal();
-                    Internal.getBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal();
+                    __Internal.getBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret);
                 }
 
@@ -3942,19 +3949,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint VFTablesCount
                 {
                     get
                     {
-                        var __ret = Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVFTablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3963,7 +3970,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3972,7 +3979,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -3981,12 +3988,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ABI;
+                        return ((__Internal*) __Instance)->ABI;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ABI = value;
+                        ((__Internal*) __Instance)->ABI = value;
                     }
                 }
 
@@ -3994,12 +4001,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.Internal() : *(global::CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance;
                     }
                 }
 
@@ -4007,12 +4014,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasOwnVFPtr != 0;
+                        return ((__Internal*) __Instance)->HasOwnVFPtr != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4020,12 +4027,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->VBPtrOffset;
+                        return ((__Internal*) __Instance)->VBPtrOffset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->VBPtrOffset = value;
+                        ((__Internal*) __Instance)->VBPtrOffset = value;
                     }
                 }
 
@@ -4033,12 +4040,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Alignment;
+                        return ((__Internal*) __Instance)->Alignment;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Alignment = value;
+                        ((__Internal*) __Instance)->Alignment = value;
                     }
                 }
 
@@ -4046,12 +4053,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Size;
+                        return ((__Internal*) __Instance)->Size;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Size = value;
+                        ((__Internal*) __Instance)->Size = value;
                     }
                 }
 
@@ -4059,12 +4066,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DataSize;
+                        return ((__Internal*) __Instance)->DataSize;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DataSize = value;
+                        ((__Internal*) __Instance)->DataSize = value;
                     }
                 }
             }
@@ -4072,7 +4079,7 @@ namespace CppSharp
             public unsafe partial class Declaration : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 192)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4084,7 +4091,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4093,13 +4100,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -4117,7 +4124,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -4204,19 +4211,19 @@ namespace CppSharp
                     return new Declaration(native.ToPointer(), skipVTables);
                 }
 
-                public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false)
+                public static Declaration __CreateInstance(Declaration.__Internal native, bool skipVTables = false)
                 {
                     return new Declaration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Declaration.Internal native)
+                private static void* __CopyValue(Declaration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(192);
-                    global::CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Declaration(Declaration.Internal native, bool skipVTables = false)
+                private Declaration(Declaration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4236,7 +4243,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Declaration(global::CppSharp.Parser.AST.Declaration _0)
@@ -4247,7 +4254,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -4260,14 +4267,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i)
                 {
-                    var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.PreprocessedEntity __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret))
@@ -4281,26 +4288,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearPreprocessedEntities()
                 {
-                    Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPreprocessedEntities_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Name
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4308,14 +4315,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getUSR_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4323,14 +4330,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDebugText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -4338,7 +4345,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -4347,12 +4354,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -4360,12 +4367,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -4374,16 +4381,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.DeclarationContext __result0;
-                        if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace))
-                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace];
-                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace);
+                        if (((__Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->_Namespace))
+                            __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((__Internal*) __Instance)->_Namespace];
+                        else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((__Internal*) __Instance)->_Namespace);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4391,12 +4398,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location);
+                        return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*) __Instance)->Location);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Location = value.__Instance;
+                        ((__Internal*) __Instance)->Location = value.__Instance;
                     }
                 }
 
@@ -4404,12 +4411,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -4417,12 +4424,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
 
@@ -4430,12 +4437,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIncomplete != 0;
+                        return ((__Internal*) __Instance)->IsIncomplete != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4443,12 +4450,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDependent != 0;
+                        return ((__Internal*) __Instance)->IsDependent != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4456,12 +4463,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsImplicit != 0;
+                        return ((__Internal*) __Instance)->IsImplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -4470,16 +4477,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration);
+                        if (((__Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->CompleteDeclaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->CompleteDeclaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->CompleteDeclaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -4487,12 +4494,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->DefinitionOrder;
+                        return ((__Internal*) __Instance)->DefinitionOrder;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefinitionOrder = value;
+                        ((__Internal*) __Instance)->DefinitionOrder = value;
                     }
                 }
 
@@ -4500,12 +4507,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -4514,16 +4521,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.RawComment __result0;
-                        if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment))
-                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment];
-                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment);
+                        if (((__Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Comment))
+                            __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((__Internal*) __Instance)->Comment];
+                        else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((__Internal*) __Instance)->Comment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -4531,7 +4538,7 @@ namespace CppSharp
             public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 432)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -4543,7 +4550,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -4552,13 +4559,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -4576,7 +4583,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -4585,34 +4592,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
@@ -4818,19 +4825,19 @@ namespace CppSharp
                     return new DeclarationContext(native.ToPointer(), skipVTables);
                 }
 
-                public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false)
+                public static DeclarationContext __CreateInstance(DeclarationContext.__Internal native, bool skipVTables = false)
                 {
                     return new DeclarationContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(DeclarationContext.Internal native)
+                private static void* __CopyValue(DeclarationContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(432);
-                    global::CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false)
+                private DeclarationContext(DeclarationContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -4853,7 +4860,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0)
@@ -4865,7 +4872,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -4873,14 +4880,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Namespace getNamespaces(uint i)
                 {
-                    var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getNamespaces_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Namespace __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret))
@@ -4894,17 +4901,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addNamespaces_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearNamespaces()
                 {
-                    Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
+                    __Internal.clearNamespaces_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration getEnums(uint i)
                 {
-                    var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getEnums_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret))
@@ -4918,17 +4925,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearEnums()
                 {
-                    Internal.clearEnums_0((__Instance + __PointerAdjustment));
+                    __Internal.clearEnums_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Function getFunctions(uint i)
                 {
-                    var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFunctions_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Function __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret))
@@ -4942,17 +4949,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFunctions_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFunctions()
                 {
-                    Internal.clearFunctions_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFunctions_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Class getClasses(uint i)
                 {
-                    var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getClasses_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Class __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret))
@@ -4966,17 +4973,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addClasses_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearClasses()
                 {
-                    Internal.clearClasses_0((__Instance + __PointerAdjustment));
+                    __Internal.clearClasses_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Template getTemplates(uint i)
                 {
-                    var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTemplates_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Template __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret))
@@ -4990,17 +4997,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTemplates_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTemplates()
                 {
-                    Internal.clearTemplates_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTemplates_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i)
                 {
-                    var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypedefs_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypedefDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -5014,17 +5021,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypedefs()
                 {
-                    Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypedefs_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i)
                 {
-                    var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TypeAlias __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret))
@@ -5038,17 +5045,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTypeAliases()
                 {
-                    Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTypeAliases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Variable getVariables(uint i)
                 {
-                    var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getVariables_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Variable __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret))
@@ -5062,17 +5069,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearVariables()
                 {
-                    Internal.clearVariables_0((__Instance + __PointerAdjustment));
+                    __Internal.clearVariables_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Friend getFriends(uint i)
                 {
-                    var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFriends_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Friend __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret))
@@ -5086,19 +5093,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFriends_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFriends()
                 {
-                    Internal.clearFriends_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFriends_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint NamespacesCount
                 {
                     get
                     {
-                        var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getNamespacesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5107,7 +5114,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getEnumsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5116,7 +5123,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFunctionsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5125,7 +5132,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getClassesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5134,7 +5141,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTemplatesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5143,7 +5150,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypedefsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5152,7 +5159,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTypeAliasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5161,7 +5168,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getVariablesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5170,7 +5177,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFriendsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -5179,12 +5186,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAnonymous != 0;
+                        return ((__Internal*) __Instance)->IsAnonymous != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -5192,7 +5199,7 @@ namespace CppSharp
             public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5204,7 +5211,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5213,13 +5220,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5237,7 +5244,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5246,7 +5253,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5269,19 +5276,19 @@ namespace CppSharp
                     return new TypedefNameDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false)
+                public static TypedefNameDecl __CreateInstance(TypedefNameDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefNameDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefNameDecl.Internal native)
+                private static void* __CopyValue(TypedefNameDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false)
+                private TypedefNameDecl(TypedefNameDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5304,7 +5311,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0)
@@ -5316,7 +5323,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5324,7 +5331,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5333,12 +5340,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -5346,7 +5353,7 @@ namespace CppSharp
             public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5358,7 +5365,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5367,13 +5374,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5391,7 +5398,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5400,7 +5407,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5423,19 +5430,19 @@ namespace CppSharp
                     return new TypedefDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false)
+                public static TypedefDecl __CreateInstance(TypedefDecl.__Internal native, bool skipVTables = false)
                 {
                     return new TypedefDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypedefDecl.Internal native)
+                private static void* __CopyValue(TypedefDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false)
+                private TypedefDecl(TypedefDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5457,7 +5464,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(208);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0)
@@ -5469,7 +5476,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5477,7 +5484,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5486,7 +5493,7 @@ namespace CppSharp
             public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 216)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5498,7 +5505,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5507,13 +5514,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5531,7 +5538,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5540,7 +5547,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr DescribedAliasTemplate;
@@ -5566,19 +5573,19 @@ namespace CppSharp
                     return new TypeAlias(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false)
+                public static TypeAlias __CreateInstance(TypeAlias.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAlias(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAlias.Internal native)
+                private static void* __CopyValue(TypeAlias.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(216);
-                    global::CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAlias(TypeAlias.Internal native, bool skipVTables = false)
+                private TypeAlias(TypeAlias.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5600,7 +5607,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(216);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0)
@@ -5612,7 +5619,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5620,7 +5627,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5630,16 +5637,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.TypeAliasTemplate __result0;
-                        if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate))
-                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate];
-                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate);
+                        if (((__Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DescribedAliasTemplate))
+                            __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((__Internal*) __Instance)->DescribedAliasTemplate];
+                        else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((__Internal*) __Instance)->DescribedAliasTemplate);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5647,7 +5654,7 @@ namespace CppSharp
             public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 200)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -5659,7 +5666,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -5668,13 +5675,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -5692,7 +5699,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -5724,19 +5731,19 @@ namespace CppSharp
                     return new Friend(native.ToPointer(), skipVTables);
                 }
 
-                public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false)
+                public static Friend __CreateInstance(Friend.__Internal native, bool skipVTables = false)
                 {
                     return new Friend(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Friend.Internal native)
+                private static void* __CopyValue(Friend.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(200);
-                    global::CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Friend(Friend.Internal native, bool skipVTables = false)
+                private Friend(Friend.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5758,7 +5765,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(200);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Friend(global::CppSharp.Parser.AST.Friend _0)
@@ -5770,7 +5777,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -5778,7 +5785,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5788,16 +5795,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration);
+                        if (((__Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Declaration))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Declaration];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Declaration);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5805,7 +5812,7 @@ namespace CppSharp
             public unsafe partial class Statement : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5814,7 +5821,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5850,19 +5857,19 @@ namespace CppSharp
                     return new Statement(native.ToPointer(), skipVTables);
                 }
 
-                public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false)
+                public static Statement __CreateInstance(Statement.__Internal native, bool skipVTables = false)
                 {
                     return new Statement(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Statement.Internal native)
+                private static void* __CopyValue(Statement.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Statement(Statement.Internal native, bool skipVTables = false)
+                private Statement(Statement.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -5884,7 +5891,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -5897,7 +5904,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -5906,14 +5913,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getString_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getString_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setString_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -5921,12 +5928,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Class;
+                        return ((__Internal*) __Instance)->Class;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = value;
+                        ((__Internal*) __Instance)->Class = value;
                     }
                 }
 
@@ -5935,16 +5942,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl);
+                        if (((__Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Decl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->Decl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->Decl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -5952,7 +5959,7 @@ namespace CppSharp
             public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -5961,7 +5968,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -5979,19 +5986,19 @@ namespace CppSharp
                     return new Expression(native.ToPointer(), skipVTables);
                 }
 
-                public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false)
+                public static Expression __CreateInstance(Expression.__Internal native, bool skipVTables = false)
                 {
                     return new Expression(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Expression.Internal native)
+                private static void* __CopyValue(Expression.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Expression(Expression.Internal native, bool skipVTables = false)
+                private Expression(Expression.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6016,7 +6023,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6024,7 +6031,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6033,7 +6040,7 @@ namespace CppSharp
             public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6042,7 +6049,7 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(48)]
                     public global::System.IntPtr LHS;
@@ -6051,7 +6058,7 @@ namespace CppSharp
                     public global::System.IntPtr RHS;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal OpcodeStr;
+                    public global::std.basic_string.__Internal OpcodeStr;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6079,19 +6086,19 @@ namespace CppSharp
                     return new BinaryOperator(native.ToPointer(), skipVTables);
                 }
 
-                public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false)
+                public static BinaryOperator __CreateInstance(BinaryOperator.__Internal native, bool skipVTables = false)
                 {
                     return new BinaryOperator(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BinaryOperator.Internal native)
+                private static void* __CopyValue(BinaryOperator.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false)
+                private BinaryOperator(BinaryOperator.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6116,7 +6123,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6124,7 +6131,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6133,14 +6140,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getOpcodeStr_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6149,16 +6156,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS);
+                        if (((__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->LHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->LHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->LHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -6167,16 +6174,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS);
+                        if (((__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->RHS))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->RHS];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->RHS);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6184,7 +6191,7 @@ namespace CppSharp
             public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6193,10 +6200,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(48)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6234,19 +6241,19 @@ namespace CppSharp
                     return new CallExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false)
+                public static CallExpr __CreateInstance(CallExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CallExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CallExpr.Internal native)
+                private static void* __CopyValue(CallExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CallExpr(CallExpr.Internal native, bool skipVTables = false)
+                private CallExpr(CallExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6271,7 +6278,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6279,14 +6286,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6300,19 +6307,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6321,7 +6328,7 @@ namespace CppSharp
             public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.StatementClass Class;
@@ -6330,10 +6337,10 @@ namespace CppSharp
                     public global::System.IntPtr Decl;
 
                     [FieldOffset(16)]
-                    public global::std.basic_string.Internal String;
+                    public global::std.basic_string.__Internal String;
 
                     [FieldOffset(48)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6371,19 +6378,19 @@ namespace CppSharp
                     return new CXXConstructExpr(native.ToPointer(), skipVTables);
                 }
 
-                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false)
+                public static CXXConstructExpr __CreateInstance(CXXConstructExpr.__Internal native, bool skipVTables = false)
                 {
                     return new CXXConstructExpr(native, skipVTables);
                 }
 
-                private static void* __CopyValue(CXXConstructExpr.Internal native)
+                private static void* __CopyValue(CXXConstructExpr.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false)
+                private CXXConstructExpr(CXXConstructExpr.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6408,7 +6415,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6416,14 +6423,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Statement __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Expression getArguments(uint i)
                 {
-                    var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Expression __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret))
@@ -6437,19 +6444,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6458,7 +6465,7 @@ namespace CppSharp
             public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6470,7 +6477,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6479,13 +6486,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -6503,7 +6510,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -6512,7 +6519,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public byte IsIndirect;
@@ -6547,19 +6554,19 @@ namespace CppSharp
                     return new Parameter(native.ToPointer(), skipVTables);
                 }
 
-                public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false)
+                public static Parameter __CreateInstance(Parameter.__Internal native, bool skipVTables = false)
                 {
                     return new Parameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Parameter.Internal native)
+                private static void* __CopyValue(Parameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Parameter(Parameter.Internal native, bool skipVTables = false)
+                private Parameter(Parameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6581,7 +6588,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Parameter(global::CppSharp.Parser.AST.Parameter _0)
@@ -6593,7 +6600,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6601,7 +6608,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -6610,12 +6617,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6623,12 +6630,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsIndirect != 0;
+                        return ((__Internal*) __Instance)->IsIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6636,12 +6643,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasDefaultValue != 0;
+                        return ((__Internal*) __Instance)->HasDefaultValue != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6649,12 +6656,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -6663,16 +6670,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -6680,7 +6687,7 @@ namespace CppSharp
             public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 336)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -6692,7 +6699,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -6701,13 +6708,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -6725,7 +6732,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -6734,7 +6741,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(208)]
                     public byte IsReturnIndirect;
@@ -6758,16 +6765,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(224)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(256)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(288)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(296)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(320)]
                     public global::System.IntPtr SpecializationInfo;
@@ -6836,19 +6843,19 @@ namespace CppSharp
                     return new Function(native.ToPointer(), skipVTables);
                 }
 
-                public static Function __CreateInstance(Function.Internal native, bool skipVTables = false)
+                public static Function __CreateInstance(Function.__Internal native, bool skipVTables = false)
                 {
                     return new Function(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Function.Internal native)
+                private static void* __CopyValue(Function.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(336);
-                    global::CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Function(Function.Internal native, bool skipVTables = false)
+                private Function(Function.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -6870,7 +6877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(336);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Function(global::CppSharp.Parser.AST.Function _0)
@@ -6882,7 +6889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -6890,14 +6897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Parameter getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Parameter __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret))
@@ -6911,26 +6918,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public string Mangled
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6938,14 +6945,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSignature_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -6953,7 +6960,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -6962,12 +6969,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ReturnType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -6975,12 +6982,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsReturnIndirect != 0;
+                        return ((__Internal*) __Instance)->IsReturnIndirect != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -6988,12 +6995,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasThisReturn != 0;
+                        return ((__Internal*) __Instance)->HasThisReturn != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7001,12 +7008,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVariadic != 0;
+                        return ((__Internal*) __Instance)->IsVariadic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7014,12 +7021,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7027,12 +7034,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPure != 0;
+                        return ((__Internal*) __Instance)->IsPure != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7040,12 +7047,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDeleted != 0;
+                        return ((__Internal*) __Instance)->IsDeleted != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7053,12 +7060,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OperatorKind;
+                        return ((__Internal*) __Instance)->OperatorKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OperatorKind = value;
+                        ((__Internal*) __Instance)->OperatorKind = value;
                     }
                 }
 
@@ -7066,12 +7073,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CallingConvention;
+                        return ((__Internal*) __Instance)->CallingConvention;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CallingConvention = value;
+                        ((__Internal*) __Instance)->CallingConvention = value;
                     }
                 }
 
@@ -7080,16 +7087,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
-                        if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo);
+                        if (((__Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializationInfo))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((__Internal*) __Instance)->SpecializationInfo];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((__Internal*) __Instance)->SpecializationInfo);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7098,24 +7105,24 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom);
+                        if (((__Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->InstantiatedFrom))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->InstantiatedFrom];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->InstantiatedFrom);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
 
             public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable
             {
-                [StructLayout(LayoutKind.Explicit, Size = 368)]
-                public new partial struct Internal
+                [StructLayout(LayoutKind.Explicit, Size = 376)]
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7127,7 +7134,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7136,13 +7143,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7160,7 +7167,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7169,7 +7176,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ReturnType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ReturnType;
 
                     [FieldOffset(208)]
                     public byte IsReturnIndirect;
@@ -7193,16 +7200,16 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind;
 
                     [FieldOffset(224)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(256)]
-                    public global::std.basic_string.Internal Signature;
+                    public global::std.basic_string.__Internal Signature;
 
                     [FieldOffset(288)]
                     public global::CppSharp.Parser.AST.CallingConvention CallingConvention;
 
                     [FieldOffset(296)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(320)]
                     public global::System.IntPtr SpecializationInfo;
@@ -7238,7 +7245,10 @@ namespace CppSharp
                     public byte IsMoveConstructor;
 
                     [FieldOffset(352)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal ConversionType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal ConversionType;
+
+                    [FieldOffset(368)]
+                    public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7261,19 +7271,19 @@ namespace CppSharp
                     return new Method(native.ToPointer(), skipVTables);
                 }
 
-                public static Method __CreateInstance(Method.Internal native, bool skipVTables = false)
+                public static Method __CreateInstance(Method.__Internal native, bool skipVTables = false)
                 {
                     return new Method(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Method.Internal native)
+                private static void* __CopyValue(Method.__Internal native)
                 {
-                    var ret = Marshal.AllocHGlobal(368);
-                    global::CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    var ret = Marshal.AllocHGlobal(376);
+                    global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Method(Method.Internal native, bool skipVTables = false)
+                private Method(Method.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7292,22 +7302,22 @@ namespace CppSharp
                 public Method()
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(368);
+                    __Instance = Marshal.AllocHGlobal(376);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Method(global::CppSharp.Parser.AST.Method _0)
                     : this((void*) null)
                 {
-                    __Instance = Marshal.AllocHGlobal(368);
+                    __Instance = Marshal.AllocHGlobal(376);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7315,7 +7325,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -7324,12 +7334,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7337,12 +7347,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsStatic != 0;
+                        return ((__Internal*) __Instance)->IsStatic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7350,12 +7360,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsConst != 0;
+                        return ((__Internal*) __Instance)->IsConst != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7363,12 +7373,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExplicit != 0;
+                        return ((__Internal*) __Instance)->IsExplicit != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7376,12 +7386,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsOverride != 0;
+                        return ((__Internal*) __Instance)->IsOverride != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7389,12 +7399,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MethodKind;
+                        return ((__Internal*) __Instance)->MethodKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MethodKind = value;
+                        ((__Internal*) __Instance)->MethodKind = value;
                     }
                 }
 
@@ -7402,12 +7412,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->IsDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7415,12 +7425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->IsCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7428,12 +7438,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsMoveConstructor != 0;
+                        return ((__Internal*) __Instance)->IsMoveConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -7441,12 +7451,25 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->ConversionType);
+                    }
+
+                    set
+                    {
+                        ((__Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
+                    }
+                }
+
+                public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier
+                {
+                    get
+                    {
+                        return ((__Internal*) __Instance)->RefQualifier;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->RefQualifier = value;
                     }
                 }
             }
@@ -7454,7 +7477,7 @@ namespace CppSharp
             public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 480)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7466,7 +7489,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7475,13 +7498,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7499,7 +7522,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7508,34 +7531,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
@@ -7550,7 +7573,7 @@ namespace CppSharp
                     public global::System.IntPtr BuiltinType;
 
                     [FieldOffset(456)]
-                    internal global::std.vector.Internal Items;
+                    internal global::std.vector.__Internal Items;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -7599,7 +7622,7 @@ namespace CppSharp
                 public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 232)]
-                    public new partial struct Internal
+                    public new partial struct __Internal
                     {
                         [FieldOffset(0)]
                         public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7611,7 +7634,7 @@ namespace CppSharp
                         public global::System.IntPtr _Namespace;
 
                         [FieldOffset(16)]
-                        public global::CppSharp.Parser.SourceLocation.Internal Location;
+                        public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                         [FieldOffset(20)]
                         public int LineNumberStart;
@@ -7620,13 +7643,13 @@ namespace CppSharp
                         public int LineNumberEnd;
 
                         [FieldOffset(32)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(64)]
-                        public global::std.basic_string.Internal USR;
+                        public global::std.basic_string.__Internal USR;
 
                         [FieldOffset(96)]
-                        public global::std.basic_string.Internal DebugText;
+                        public global::std.basic_string.__Internal DebugText;
 
                         [FieldOffset(128)]
                         public byte IsIncomplete;
@@ -7644,7 +7667,7 @@ namespace CppSharp
                         public uint DefinitionOrder;
 
                         [FieldOffset(152)]
-                        internal global::std.vector.Internal PreprocessedEntities;
+                        internal global::std.vector.__Internal PreprocessedEntities;
 
                         [FieldOffset(176)]
                         public global::System.IntPtr OriginalPtr;
@@ -7653,7 +7676,7 @@ namespace CppSharp
                         public global::System.IntPtr Comment;
 
                         [FieldOffset(192)]
-                        public global::std.basic_string.Internal Expression;
+                        public global::std.basic_string.__Internal Expression;
 
                         [FieldOffset(224)]
                         public ulong Value;
@@ -7689,19 +7712,19 @@ namespace CppSharp
                         return new Item(native.ToPointer(), skipVTables);
                     }
 
-                    public static Item __CreateInstance(Item.Internal native, bool skipVTables = false)
+                    public static Item __CreateInstance(Item.__Internal native, bool skipVTables = false)
                     {
                         return new Item(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Item.Internal native)
+                    private static void* __CopyValue(Item.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(232);
-                        global::CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Item(Item.Internal native, bool skipVTables = false)
+                    private Item(Item.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -7723,7 +7746,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(232);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Item(global::CppSharp.Parser.AST.Enumeration.Item _0)
@@ -7735,7 +7758,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public override void Dispose(bool disposing)
@@ -7743,7 +7766,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.Declaration __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -7752,14 +7775,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -7767,12 +7790,12 @@ namespace CppSharp
                     {
                         get
                         {
-                            return ((Internal*) __Instance)->Value;
+                            return ((__Internal*) __Instance)->Value;
                         }
 
                         set
                         {
-                            ((Internal*) __Instance)->Value = value;
+                            ((__Internal*) __Instance)->Value = value;
                         }
                     }
                 }
@@ -7782,19 +7805,19 @@ namespace CppSharp
                     return new Enumeration(native.ToPointer(), skipVTables);
                 }
 
-                public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false)
+                public static Enumeration __CreateInstance(Enumeration.__Internal native, bool skipVTables = false)
                 {
                     return new Enumeration(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Enumeration.Internal native)
+                private static void* __CopyValue(Enumeration.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(480);
-                    global::CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Enumeration(Enumeration.Internal native, bool skipVTables = false)
+                private Enumeration(Enumeration.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -7816,7 +7839,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(480);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Enumeration(global::CppSharp.Parser.AST.Enumeration _0)
@@ -7828,7 +7851,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -7836,14 +7859,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Enumeration.Item getItems(uint i)
                 {
-                    var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getItems_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Enumeration.Item __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret))
@@ -7857,19 +7880,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addItems_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearItems()
                 {
-                    Internal.clearItems_0((__Instance + __PointerAdjustment));
+                    __Internal.clearItems_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ItemsCount
                 {
                     get
                     {
-                        var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getItemsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -7878,12 +7901,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Modifiers;
+                        return ((__Internal*) __Instance)->Modifiers;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Modifiers = value;
+                        ((__Internal*) __Instance)->Modifiers = value;
                     }
                 }
 
@@ -7892,16 +7915,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -7910,16 +7933,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.BuiltinType __result0;
-                        if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType))
-                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType];
-                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType);
+                        if (((__Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->BuiltinType))
+                            __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((__Internal*) __Instance)->BuiltinType];
+                        else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((__Internal*) __Instance)->BuiltinType);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -7927,7 +7950,7 @@ namespace CppSharp
             public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 240)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -7939,7 +7962,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -7948,13 +7971,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -7972,7 +7995,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -7981,10 +8004,10 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -8017,19 +8040,19 @@ namespace CppSharp
                     return new Variable(native.ToPointer(), skipVTables);
                 }
 
-                public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false)
+                public static Variable __CreateInstance(Variable.__Internal native, bool skipVTables = false)
                 {
                     return new Variable(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Variable.Internal native)
+                private static void* __CopyValue(Variable.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(240);
-                    global::CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Variable(Variable.Internal native, bool skipVTables = false)
+                private Variable(Variable.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8051,7 +8074,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(240);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Variable(global::CppSharp.Parser.AST.Variable _0)
@@ -8063,7 +8086,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8071,7 +8094,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8080,14 +8103,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMangled_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -8095,12 +8118,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -8108,7 +8131,7 @@ namespace CppSharp
             public unsafe partial class BaseClassSpecifier : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.AccessSpecifier Access;
@@ -8146,19 +8169,19 @@ namespace CppSharp
                     return new BaseClassSpecifier(native.ToPointer(), skipVTables);
                 }
 
-                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                 {
                     return new BaseClassSpecifier(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BaseClassSpecifier.Internal native)
+                private static void* __CopyValue(BaseClassSpecifier.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(BaseClassSpecifier.Internal*) ret = native;
+                    *(BaseClassSpecifier.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false)
+                private BaseClassSpecifier(BaseClassSpecifier.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8177,7 +8200,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0)
@@ -8185,7 +8208,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance);
+                    *((BaseClassSpecifier.__Internal*) __Instance) = *((BaseClassSpecifier.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -8205,12 +8228,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Access;
+                        return ((__Internal*) __Instance)->Access;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Access = value;
+                        ((__Internal*) __Instance)->Access = value;
                     }
                 }
 
@@ -8218,12 +8241,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsVirtual != 0;
+                        return ((__Internal*) __Instance)->IsVirtual != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8232,16 +8255,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Type __result0;
-                        if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type))
-                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type];
-                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type);
+                        if (((__Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Type))
+                            __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((__Internal*) __Instance)->Type];
+                        else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((__Internal*) __Instance)->Type);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8249,12 +8272,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Offset;
+                        return ((__Internal*) __Instance)->Offset;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Offset = value;
+                        ((__Internal*) __Instance)->Offset = value;
                     }
                 }
             }
@@ -8262,7 +8285,7 @@ namespace CppSharp
             public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8274,7 +8297,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8283,13 +8306,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8307,7 +8330,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8316,7 +8339,7 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(208)]
                     public global::System.IntPtr Class;
@@ -8348,19 +8371,19 @@ namespace CppSharp
                     return new Field(native.ToPointer(), skipVTables);
                 }
 
-                public static Field __CreateInstance(Field.Internal native, bool skipVTables = false)
+                public static Field __CreateInstance(Field.__Internal native, bool skipVTables = false)
                 {
                     return new Field(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Field.Internal native)
+                private static void* __CopyValue(Field.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Field(Field.Internal native, bool skipVTables = false)
+                private Field(Field.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8382,7 +8405,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Field(global::CppSharp.Parser.AST.Field _0)
@@ -8394,7 +8417,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8402,7 +8425,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8411,12 +8434,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->QualifiedType);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
 
@@ -8425,16 +8448,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Class __result0;
-                        if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class))
-                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class];
-                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class);
+                        if (((__Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Class))
+                            __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((__Internal*) __Instance)->Class];
+                        else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((__Internal*) __Instance)->Class);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -8442,12 +8465,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsBitField != 0;
+                        return ((__Internal*) __Instance)->IsBitField != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -8455,12 +8478,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->BitWidth;
+                        return ((__Internal*) __Instance)->BitWidth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->BitWidth = value;
+                        ((__Internal*) __Instance)->BitWidth = value;
                     }
                 }
             }
@@ -8468,7 +8491,7 @@ namespace CppSharp
             public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 192)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8480,7 +8503,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8489,13 +8512,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8513,7 +8536,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8542,19 +8565,19 @@ namespace CppSharp
                     return new AccessSpecifierDecl(native.ToPointer(), skipVTables);
                 }
 
-                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                 {
                     return new AccessSpecifierDecl(native, skipVTables);
                 }
 
-                private static void* __CopyValue(AccessSpecifierDecl.Internal native)
+                private static void* __CopyValue(AccessSpecifierDecl.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(192);
-                    global::CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false)
+                private AccessSpecifierDecl(AccessSpecifierDecl.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8576,7 +8599,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(192);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0)
@@ -8588,7 +8611,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8596,7 +8619,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -8605,7 +8628,7 @@ namespace CppSharp
             public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 552)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -8617,7 +8640,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -8626,13 +8649,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -8650,7 +8673,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -8659,49 +8682,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
 
                     [FieldOffset(432)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(456)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(480)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(504)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(528)]
                     public byte IsPOD;
@@ -8834,19 +8857,19 @@ namespace CppSharp
                     return new Class(native.ToPointer(), skipVTables);
                 }
 
-                public static Class __CreateInstance(Class.Internal native, bool skipVTables = false)
+                public static Class __CreateInstance(Class.__Internal native, bool skipVTables = false)
                 {
                     return new Class(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Class.Internal native)
+                private static void* __CopyValue(Class.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(552);
-                    global::CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Class(Class.Internal native, bool skipVTables = false)
+                private Class(Class.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -8868,7 +8891,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(552);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Class(global::CppSharp.Parser.AST.Class _0)
@@ -8880,7 +8903,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -8888,14 +8911,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i)
                 {
-                    var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBases_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BaseClassSpecifier __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret))
@@ -8909,17 +8932,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBases_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBases()
                 {
-                    Internal.clearBases_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBases_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Field getFields(uint i)
                 {
-                    var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getFields_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Field __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret))
@@ -8933,17 +8956,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addFields_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearFields()
                 {
-                    Internal.clearFields_0((__Instance + __PointerAdjustment));
+                    __Internal.clearFields_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.Method getMethods(uint i)
                 {
-                    var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMethods_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Method __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret))
@@ -8957,17 +8980,17 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMethods_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMethods()
                 {
-                    Internal.clearMethods_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMethods_0((__Instance + __PointerAdjustment));
                 }
 
                 public global::CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i)
                 {
-                    var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.AccessSpecifierDecl __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret))
@@ -8981,19 +9004,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecifiers_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecifiers()
                 {
-                    Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecifiers_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BasesCount
                 {
                     get
                     {
-                        var __ret = Internal.getBasesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBasesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9002,7 +9025,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFieldsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9011,7 +9034,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMethodsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9020,7 +9043,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecifiersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9029,12 +9052,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPOD != 0;
+                        return ((__Internal*) __Instance)->IsPOD != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9042,12 +9065,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsAbstract != 0;
+                        return ((__Internal*) __Instance)->IsAbstract != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9055,12 +9078,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsUnion != 0;
+                        return ((__Internal*) __Instance)->IsUnion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9068,12 +9091,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsDynamic != 0;
+                        return ((__Internal*) __Instance)->IsDynamic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9081,12 +9104,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPolymorphic != 0;
+                        return ((__Internal*) __Instance)->IsPolymorphic != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9094,12 +9117,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9107,12 +9130,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialCopyConstructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9120,12 +9143,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasNonTrivialDestructor != 0;
+                        return ((__Internal*) __Instance)->HasNonTrivialDestructor != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9133,12 +9156,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExternCContext != 0;
+                        return ((__Internal*) __Instance)->IsExternCContext != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9147,16 +9170,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassLayout __result0;
-                        if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout))
-                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout];
-                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout);
+                        if (((__Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Layout))
+                            __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((__Internal*) __Instance)->Layout];
+                        else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((__Internal*) __Instance)->Layout);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9164,7 +9187,7 @@ namespace CppSharp
             public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9176,7 +9199,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9185,13 +9208,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9209,7 +9232,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9221,7 +9244,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9269,19 +9292,19 @@ namespace CppSharp
                     return new Template(native.ToPointer(), skipVTables);
                 }
 
-                public static Template __CreateInstance(Template.Internal native, bool skipVTables = false)
+                public static Template __CreateInstance(Template.__Internal native, bool skipVTables = false)
                 {
                     return new Template(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Template.Internal native)
+                private static void* __CopyValue(Template.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Template(Template.Internal native, bool skipVTables = false)
+                private Template(Template.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9304,7 +9327,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Template()
@@ -9313,7 +9336,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_1((__Instance + __PointerAdjustment));
+                    __Internal.ctor_1((__Instance + __PointerAdjustment));
                 }
 
                 public Template(global::CppSharp.Parser.AST.Template _0)
@@ -9325,7 +9348,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9333,14 +9356,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.Declaration getParameters(uint i)
                 {
-                    var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getParameters_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.Declaration __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret))
@@ -9354,19 +9377,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addParameters_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearParameters()
                 {
-                    Internal.clearParameters_0((__Instance + __PointerAdjustment));
+                    __Internal.clearParameters_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ParametersCount
                 {
                     get
                     {
-                        var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getParametersCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -9376,16 +9399,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Declaration __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -9393,7 +9416,7 @@ namespace CppSharp
             public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9405,7 +9428,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9414,13 +9437,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9438,7 +9461,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9450,7 +9473,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9473,19 +9496,19 @@ namespace CppSharp
                     return new TypeAliasTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new TypeAliasTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeAliasTemplate.Internal native)
+                private static void* __CopyValue(TypeAliasTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false)
+                private TypeAliasTemplate(TypeAliasTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9507,7 +9530,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0)
@@ -9519,7 +9542,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9527,7 +9550,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9536,7 +9559,7 @@ namespace CppSharp
             public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 208)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9548,7 +9571,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9557,13 +9580,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9581,7 +9604,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9619,19 +9642,19 @@ namespace CppSharp
                     return new TemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateParameter __CreateInstance(TemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(208);
-                    global::CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateParameter(TemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9654,7 +9677,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0)
@@ -9666,7 +9689,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9674,7 +9697,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9683,12 +9706,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Depth;
+                        return ((__Internal*) __Instance)->Depth;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Depth = value;
+                        ((__Internal*) __Instance)->Depth = value;
                     }
                 }
 
@@ -9696,12 +9719,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Index;
+                        return ((__Internal*) __Instance)->Index;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Index = value;
+                        ((__Internal*) __Instance)->Index = value;
                     }
                 }
 
@@ -9709,12 +9732,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9722,7 +9745,7 @@ namespace CppSharp
             public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 232)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9734,7 +9757,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9743,13 +9766,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9767,7 +9790,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9779,7 +9802,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
                     public byte IsParameterPack;
@@ -9811,19 +9834,19 @@ namespace CppSharp
                     return new TemplateTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TemplateTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TemplateTemplateParameter.Internal native)
+                private static void* __CopyValue(TemplateTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(232);
-                    global::CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TemplateTemplateParameter(TemplateTemplateParameter.Internal native, bool skipVTables = false)
+                private TemplateTemplateParameter(TemplateTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -9845,7 +9868,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(232);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0)
@@ -9857,7 +9880,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -9865,7 +9888,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -9874,12 +9897,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9887,12 +9910,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -9900,12 +9923,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -9913,7 +9936,7 @@ namespace CppSharp
             public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -9925,7 +9948,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -9934,13 +9957,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -9958,7 +9981,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -9976,7 +9999,7 @@ namespace CppSharp
                     public byte IsParameterPack;
 
                     [FieldOffset(208)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal DefaultArgument;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -9999,19 +10022,19 @@ namespace CppSharp
                     return new TypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new TypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TypeTemplateParameter.Internal native)
+                private static void* __CopyValue(TypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false)
+                private TypeTemplateParameter(TypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10033,7 +10056,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0)
@@ -10045,7 +10068,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10053,7 +10076,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10062,12 +10085,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.Internal() : *(global::CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance);
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance;
                     }
                 }
             }
@@ -10075,7 +10098,7 @@ namespace CppSharp
             public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 224)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10087,7 +10110,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10096,13 +10119,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10120,7 +10143,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10170,19 +10193,19 @@ namespace CppSharp
                     return new NonTypeTemplateParameter(native.ToPointer(), skipVTables);
                 }
 
-                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                 {
                     return new NonTypeTemplateParameter(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NonTypeTemplateParameter.Internal native)
+                private static void* __CopyValue(NonTypeTemplateParameter.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(224);
-                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false)
+                private NonTypeTemplateParameter(NonTypeTemplateParameter.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10204,7 +10227,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(224);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0)
@@ -10216,7 +10239,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10224,7 +10247,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -10234,16 +10257,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Expression __result0;
-                        if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument))
-                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument];
-                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument);
+                        if (((__Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->DefaultArgument))
+                            __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((__Internal*) __Instance)->DefaultArgument];
+                        else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((__Internal*) __Instance)->DefaultArgument);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10251,12 +10274,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Position;
+                        return ((__Internal*) __Instance)->Position;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Position = value;
+                        ((__Internal*) __Instance)->Position = value;
                     }
                 }
 
@@ -10264,12 +10287,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsPackExpansion != 0;
+                        return ((__Internal*) __Instance)->IsPackExpansion != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0);
                     }
                 }
 
@@ -10277,12 +10300,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsExpandedParameterPack != 0;
+                        return ((__Internal*) __Instance)->IsExpandedParameterPack != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -10290,7 +10313,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10302,7 +10325,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10311,13 +10334,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10335,7 +10358,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10347,10 +10370,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -10393,19 +10416,19 @@ namespace CppSharp
                     return new ClassTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false)
+                public static ClassTemplate __CreateInstance(ClassTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplate.Internal native)
+                private static void* __CopyValue(ClassTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplate(ClassTemplate.Internal native, bool skipVTables = false)
+                private ClassTemplate(ClassTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10427,7 +10450,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0)
@@ -10439,7 +10462,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10447,14 +10470,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -10468,19 +10491,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10489,7 +10512,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 592)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10501,7 +10524,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10510,13 +10533,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10534,7 +10557,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10543,49 +10566,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
 
                     [FieldOffset(432)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(456)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(480)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(504)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(528)]
                     public byte IsPOD;
@@ -10621,7 +10644,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(560)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(584)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10667,19 +10690,19 @@ namespace CppSharp
                     return new ClassTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplateSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(592);
-                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplateSpecialization(ClassTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10701,7 +10724,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(592);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0)
@@ -10713,7 +10736,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -10721,15 +10744,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -10738,19 +10761,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -10760,16 +10783,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ClassTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -10777,12 +10800,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -10790,7 +10813,7 @@ namespace CppSharp
             public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 592)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -10802,7 +10825,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -10811,13 +10834,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -10835,7 +10858,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -10844,49 +10867,49 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
 
                     [FieldOffset(432)]
-                    internal global::std.vector.Internal Bases;
+                    internal global::std.vector.__Internal Bases;
 
                     [FieldOffset(456)]
-                    internal global::std.vector.Internal Fields;
+                    internal global::std.vector.__Internal Fields;
 
                     [FieldOffset(480)]
-                    internal global::std.vector.Internal Methods;
+                    internal global::std.vector.__Internal Methods;
 
                     [FieldOffset(504)]
-                    internal global::std.vector.Internal Specifiers;
+                    internal global::std.vector.__Internal Specifiers;
 
                     [FieldOffset(528)]
                     public byte IsPOD;
@@ -10922,7 +10945,7 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(560)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(584)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -10948,19 +10971,19 @@ namespace CppSharp
                     return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new ClassTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(ClassTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(592);
-                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -10982,7 +11005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(592);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0)
@@ -10994,7 +11017,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11002,7 +11025,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11011,7 +11034,7 @@ namespace CppSharp
             public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11023,7 +11046,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11032,13 +11055,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11056,7 +11079,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11068,10 +11091,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11114,19 +11137,19 @@ namespace CppSharp
                     return new FunctionTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false)
+                public static FunctionTemplate __CreateInstance(FunctionTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplate.Internal native)
+                private static void* __CopyValue(FunctionTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false)
+                private FunctionTemplate(FunctionTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11148,7 +11171,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0)
@@ -11160,7 +11183,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11168,14 +11191,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11189,19 +11212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11210,13 +11233,13 @@ namespace CppSharp
             public unsafe partial class FunctionTemplateSpecialization : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::System.IntPtr Template;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(32)]
                     public global::System.IntPtr SpecializedFunction;
@@ -11273,19 +11296,19 @@ namespace CppSharp
                     return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new FunctionTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FunctionTemplateSpecialization.Internal native)
+                private static void* __CopyValue(FunctionTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false)
+                private FunctionTemplateSpecialization(FunctionTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11304,7 +11327,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0)
@@ -11315,7 +11338,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -11328,15 +11351,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11345,19 +11368,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11367,16 +11390,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FunctionTemplate __result0;
-                        if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template))
-                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template];
-                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template);
+                        if (((__Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Template))
+                            __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((__Internal*) __Instance)->Template];
+                        else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((__Internal*) __Instance)->Template);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11385,16 +11408,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.Function __result0;
-                        if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction))
-                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction];
-                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction);
+                        if (((__Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->SpecializedFunction))
+                            __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((__Internal*) __Instance)->SpecializedFunction];
+                        else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((__Internal*) __Instance)->SpecializedFunction);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11402,12 +11425,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11415,7 +11438,7 @@ namespace CppSharp
             public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 248)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11427,7 +11450,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11436,13 +11459,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11460,7 +11483,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11472,10 +11495,10 @@ namespace CppSharp
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(200)]
-                    internal global::std.vector.Internal Parameters;
+                    internal global::std.vector.__Internal Parameters;
 
                     [FieldOffset(224)]
-                    internal global::std.vector.Internal Specializations;
+                    internal global::std.vector.__Internal Specializations;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -11518,19 +11541,19 @@ namespace CppSharp
                     return new VarTemplate(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplate __CreateInstance(VarTemplate.Internal native, bool skipVTables = false)
+                public static VarTemplate __CreateInstance(VarTemplate.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplate(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplate.Internal native)
+                private static void* __CopyValue(VarTemplate.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(248);
-                    global::CppSharp.Parser.AST.VarTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplate(VarTemplate.Internal native, bool skipVTables = false)
+                private VarTemplate(VarTemplate.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11552,7 +11575,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(248);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0)
@@ -11564,7 +11587,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11572,14 +11595,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VarTemplateSpecialization getSpecializations(uint i)
                 {
-                    var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSpecializations_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VarTemplateSpecialization __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret))
@@ -11593,19 +11616,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSpecializations_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSpecializations()
                 {
-                    Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSpecializations_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint SpecializationsCount
                 {
                     get
                     {
-                        var __ret = Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSpecializationsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11614,7 +11637,7 @@ namespace CppSharp
             public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 280)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11626,7 +11649,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11635,13 +11658,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11659,7 +11682,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11668,16 +11691,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(240)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(272)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11723,19 +11746,19 @@ namespace CppSharp
                     return new VarTemplateSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplateSpecialization __CreateInstance(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplateSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplateSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplateSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(280);
-                    global::CppSharp.Parser.AST.VarTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplateSpecialization(VarTemplateSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplateSpecialization(VarTemplateSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11757,7 +11780,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(280);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0)
@@ -11769,7 +11792,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11777,15 +11800,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TemplateArgument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret);
                 }
 
@@ -11794,19 +11817,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -11816,16 +11839,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.VarTemplate __result0;
-                        if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl))
-                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl];
-                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl);
+                        if (((__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TemplatedDecl))
+                            __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((__Internal*) __Instance)->TemplatedDecl];
+                        else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((__Internal*) __Instance)->TemplatedDecl);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
 
@@ -11833,12 +11856,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->SpecializationKind;
+                        return ((__Internal*) __Instance)->SpecializationKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->SpecializationKind = value;
+                        ((__Internal*) __Instance)->SpecializationKind = value;
                     }
                 }
             }
@@ -11846,7 +11869,7 @@ namespace CppSharp
             public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 280)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -11858,7 +11881,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -11867,13 +11890,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -11891,7 +11914,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -11900,16 +11923,16 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    public global::std.basic_string.Internal Mangled;
+                    public global::std.basic_string.__Internal Mangled;
 
                     [FieldOffset(224)]
-                    public global::CppSharp.Parser.AST.QualifiedType.Internal QualifiedType;
+                    public global::CppSharp.Parser.AST.QualifiedType.__Internal QualifiedType;
 
                     [FieldOffset(240)]
                     public global::System.IntPtr TemplatedDecl;
 
                     [FieldOffset(248)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(272)]
                     public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind;
@@ -11935,19 +11958,19 @@ namespace CppSharp
                     return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables);
                 }
 
-                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                public static VarTemplatePartialSpecialization __CreateInstance(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                 {
                     return new VarTemplatePartialSpecialization(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VarTemplatePartialSpecialization.Internal native)
+                private static void* __CopyValue(VarTemplatePartialSpecialization.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(280);
-                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.Internal native, bool skipVTables = false)
+                private VarTemplatePartialSpecialization(VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -11969,7 +11992,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(280);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0)
@@ -11981,7 +12004,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -11989,7 +12012,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -11998,7 +12021,7 @@ namespace CppSharp
             public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 440)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12010,7 +12033,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12019,13 +12042,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -12043,7 +12066,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -12052,34 +12075,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
@@ -12108,19 +12131,19 @@ namespace CppSharp
                     return new Namespace(native.ToPointer(), skipVTables);
                 }
 
-                public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false)
+                public static Namespace __CreateInstance(Namespace.__Internal native, bool skipVTables = false)
                 {
                     return new Namespace(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Namespace.Internal native)
+                private static void* __CopyValue(Namespace.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(440);
-                    global::CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private Namespace(Namespace.Internal native, bool skipVTables = false)
+                private Namespace(Namespace.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12142,7 +12165,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(440);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public Namespace(global::CppSharp.Parser.AST.Namespace _0)
@@ -12154,7 +12177,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12162,7 +12185,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12171,12 +12194,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsInline != 0;
+                        return ((__Internal*) __Instance)->IsInline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12184,7 +12207,7 @@ namespace CppSharp
             public unsafe partial class PreprocessedEntity : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12219,19 +12242,19 @@ namespace CppSharp
                     return new PreprocessedEntity(native.ToPointer(), skipVTables);
                 }
 
-                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false)
+                public static PreprocessedEntity __CreateInstance(PreprocessedEntity.__Internal native, bool skipVTables = false)
                 {
                     return new PreprocessedEntity(native, skipVTables);
                 }
 
-                private static void* __CopyValue(PreprocessedEntity.Internal native)
+                private static void* __CopyValue(PreprocessedEntity.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    *(PreprocessedEntity.Internal*) ret = native;
+                    *(PreprocessedEntity.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private PreprocessedEntity(PreprocessedEntity.Internal native, bool skipVTables = false)
+                private PreprocessedEntity(PreprocessedEntity.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12250,7 +12273,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0)
@@ -12258,7 +12281,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance);
+                    *((PreprocessedEntity.__Internal*) __Instance) = *((PreprocessedEntity.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -12278,12 +12301,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->MacroLocation;
+                        return ((__Internal*) __Instance)->MacroLocation;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->MacroLocation = value;
+                        ((__Internal*) __Instance)->MacroLocation = value;
                     }
                 }
 
@@ -12291,12 +12314,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->OriginalPtr;
+                        return ((__Internal*) __Instance)->OriginalPtr;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
+                        ((__Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value;
                     }
                 }
 
@@ -12304,12 +12327,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -12317,7 +12340,7 @@ namespace CppSharp
             public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12329,10 +12352,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.basic_string.Internal Expression;
+                    public global::std.basic_string.__Internal Expression;
 
                     [FieldOffset(88)]
                     public int LineNumberStart;
@@ -12381,19 +12404,19 @@ namespace CppSharp
                     return new MacroDefinition(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false)
+                public static MacroDefinition __CreateInstance(MacroDefinition.__Internal native, bool skipVTables = false)
                 {
                     return new MacroDefinition(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroDefinition.Internal native)
+                private static void* __CopyValue(MacroDefinition.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false)
+                private MacroDefinition(MacroDefinition.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12415,7 +12438,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(96);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0)
@@ -12427,7 +12450,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12435,7 +12458,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12444,14 +12467,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12459,14 +12482,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getExpression_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12474,12 +12497,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberStart;
+                        return ((__Internal*) __Instance)->LineNumberStart;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberStart = value;
+                        ((__Internal*) __Instance)->LineNumberStart = value;
                     }
                 }
 
@@ -12487,12 +12510,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->LineNumberEnd;
+                        return ((__Internal*) __Instance)->LineNumberEnd;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->LineNumberEnd = value;
+                        ((__Internal*) __Instance)->LineNumberEnd = value;
                     }
                 }
             }
@@ -12500,7 +12523,7 @@ namespace CppSharp
             public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 96)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.MacroLocation MacroLocation;
@@ -12512,10 +12535,10 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
 
                     [FieldOffset(24)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(56)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(88)]
                     public global::System.IntPtr Definition;
@@ -12561,19 +12584,19 @@ namespace CppSharp
                     return new MacroExpansion(native.ToPointer(), skipVTables);
                 }
 
-                public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false)
+                public static MacroExpansion __CreateInstance(MacroExpansion.__Internal native, bool skipVTables = false)
                 {
                     return new MacroExpansion(native, skipVTables);
                 }
 
-                private static void* __CopyValue(MacroExpansion.Internal native)
+                private static void* __CopyValue(MacroExpansion.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(96);
-                    global::CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false)
+                private MacroExpansion(MacroExpansion.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12595,7 +12618,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(96);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0)
@@ -12607,7 +12630,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12615,7 +12638,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.PreprocessedEntity __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -12624,14 +12647,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12639,14 +12662,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12655,16 +12678,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.MacroDefinition __result0;
-                        if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition))
-                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition];
-                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition);
+                        if (((__Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Definition))
+                            __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((__Internal*) __Instance)->Definition];
+                        else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((__Internal*) __Instance)->Definition);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -12672,7 +12695,7 @@ namespace CppSharp
             public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 504)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.DeclarationKind Kind;
@@ -12684,7 +12707,7 @@ namespace CppSharp
                     public global::System.IntPtr _Namespace;
 
                     [FieldOffset(16)]
-                    public global::CppSharp.Parser.SourceLocation.Internal Location;
+                    public global::CppSharp.Parser.SourceLocation.__Internal Location;
 
                     [FieldOffset(20)]
                     public int LineNumberStart;
@@ -12693,13 +12716,13 @@ namespace CppSharp
                     public int LineNumberEnd;
 
                     [FieldOffset(32)]
-                    public global::std.basic_string.Internal Name;
+                    public global::std.basic_string.__Internal Name;
 
                     [FieldOffset(64)]
-                    public global::std.basic_string.Internal USR;
+                    public global::std.basic_string.__Internal USR;
 
                     [FieldOffset(96)]
-                    public global::std.basic_string.Internal DebugText;
+                    public global::std.basic_string.__Internal DebugText;
 
                     [FieldOffset(128)]
                     public byte IsIncomplete;
@@ -12717,7 +12740,7 @@ namespace CppSharp
                     public uint DefinitionOrder;
 
                     [FieldOffset(152)]
-                    internal global::std.vector.Internal PreprocessedEntities;
+                    internal global::std.vector.__Internal PreprocessedEntities;
 
                     [FieldOffset(176)]
                     public global::System.IntPtr OriginalPtr;
@@ -12726,34 +12749,34 @@ namespace CppSharp
                     public global::System.IntPtr Comment;
 
                     [FieldOffset(192)]
-                    internal global::std.vector.Internal Namespaces;
+                    internal global::std.vector.__Internal Namespaces;
 
                     [FieldOffset(216)]
-                    internal global::std.vector.Internal Enums;
+                    internal global::std.vector.__Internal Enums;
 
                     [FieldOffset(240)]
-                    internal global::std.vector.Internal Functions;
+                    internal global::std.vector.__Internal Functions;
 
                     [FieldOffset(264)]
-                    internal global::std.vector.Internal Classes;
+                    internal global::std.vector.__Internal Classes;
 
                     [FieldOffset(288)]
-                    internal global::std.vector.Internal Templates;
+                    internal global::std.vector.__Internal Templates;
 
                     [FieldOffset(312)]
-                    internal global::std.vector.Internal Typedefs;
+                    internal global::std.vector.__Internal Typedefs;
 
                     [FieldOffset(336)]
-                    internal global::std.vector.Internal TypeAliases;
+                    internal global::std.vector.__Internal TypeAliases;
 
                     [FieldOffset(360)]
-                    internal global::std.vector.Internal Variables;
+                    internal global::std.vector.__Internal Variables;
 
                     [FieldOffset(384)]
-                    internal global::std.vector.Internal Friends;
+                    internal global::std.vector.__Internal Friends;
 
                     [FieldOffset(408)]
-                    internal global::std.map.Internal Anonymous;
+                    internal global::std.map.__Internal Anonymous;
 
                     [FieldOffset(424)]
                     public byte IsAnonymous;
@@ -12762,13 +12785,13 @@ namespace CppSharp
                     public byte IsInline;
 
                     [FieldOffset(440)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(472)]
                     public byte IsSystemHeader;
 
                     [FieldOffset(480)]
-                    internal global::std.vector.Internal Macros;
+                    internal global::std.vector.__Internal Macros;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -12821,19 +12844,19 @@ namespace CppSharp
                     return new TranslationUnit(native.ToPointer(), skipVTables);
                 }
 
-                public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false)
+                public static TranslationUnit __CreateInstance(TranslationUnit.__Internal native, bool skipVTables = false)
                 {
                     return new TranslationUnit(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TranslationUnit.Internal native)
+                private static void* __CopyValue(TranslationUnit.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(504);
-                    global::CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false)
+                private TranslationUnit(TranslationUnit.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -12855,7 +12878,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(504);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0)
@@ -12867,7 +12890,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -12875,14 +12898,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Declaration __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.MacroDefinition getMacros(uint i)
                 {
-                    var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getMacros_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.MacroDefinition __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret))
@@ -12896,26 +12919,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearMacros()
                 {
-                    Internal.clearMacros_0((__Instance + __PointerAdjustment));
+                    __Internal.clearMacros_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -12923,7 +12946,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getMacrosCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -12932,12 +12955,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsSystemHeader != 0;
+                        return ((__Internal*) __Instance)->IsSystemHeader != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -12945,19 +12968,19 @@ namespace CppSharp
             public unsafe partial class NativeLibrary : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 88)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    public global::std.basic_string.Internal FileName;
+                    public global::std.basic_string.__Internal FileName;
 
                     [FieldOffset(32)]
                     public global::CppSharp.Parser.AST.ArchType ArchType;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Symbols;
+                    internal global::std.vector.__Internal Symbols;
 
                     [FieldOffset(64)]
-                    internal global::std.vector.Internal Dependencies;
+                    internal global::std.vector.__Internal Dependencies;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13038,19 +13061,19 @@ namespace CppSharp
                     return new NativeLibrary(native.ToPointer(), skipVTables);
                 }
 
-                public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false)
+                public static NativeLibrary __CreateInstance(NativeLibrary.__Internal native, bool skipVTables = false)
                 {
                     return new NativeLibrary(native, skipVTables);
                 }
 
-                private static void* __CopyValue(NativeLibrary.Internal native)
+                private static void* __CopyValue(NativeLibrary.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(88);
-                    global::CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false)
+                private NativeLibrary(NativeLibrary.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13069,7 +13092,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(88);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0)
@@ -13080,7 +13103,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13093,57 +13116,57 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.NativeLibrary __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public string getSymbols(uint i)
                 {
-                    var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getSymbols_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addSymbols(string s)
                 {
                     var __arg0 = s;
-                    Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearSymbols()
                 {
-                    Internal.clearSymbols_0((__Instance + __PointerAdjustment));
+                    __Internal.clearSymbols_0((__Instance + __PointerAdjustment));
                 }
 
                 public string getDependencies(uint i)
                 {
-                    var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getDependencies_0((__Instance + __PointerAdjustment), i);
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 public void addDependencies(string s)
                 {
                     var __arg0 = s;
-                    Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearDependencies()
                 {
-                    Internal.clearDependencies_0((__Instance + __PointerAdjustment));
+                    __Internal.clearDependencies_0((__Instance + __PointerAdjustment));
                 }
 
                 public string FileName
                 {
                     get
                     {
-                        var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -13151,7 +13174,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getSymbolsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13160,7 +13183,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getDependenciesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13169,12 +13192,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ArchType;
+                        return ((__Internal*) __Instance)->ArchType;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ArchType = value;
+                        ((__Internal*) __Instance)->ArchType = value;
                     }
                 }
             }
@@ -13182,10 +13205,10 @@ namespace CppSharp
             public unsafe partial class ASTContext : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 24)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
-                    internal global::std.vector.Internal TranslationUnits;
+                    internal global::std.vector.__Internal TranslationUnits;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13236,19 +13259,19 @@ namespace CppSharp
                     return new ASTContext(native.ToPointer(), skipVTables);
                 }
 
-                public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false)
+                public static ASTContext __CreateInstance(ASTContext.__Internal native, bool skipVTables = false)
                 {
                     return new ASTContext(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ASTContext.Internal native)
+                private static void* __CopyValue(ASTContext.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(24);
-                    global::CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ASTContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ASTContext(ASTContext.Internal native, bool skipVTables = false)
+                private ASTContext(ASTContext.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13267,7 +13290,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(24);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ASTContext(global::CppSharp.Parser.AST.ASTContext _0)
@@ -13278,7 +13301,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -13291,14 +13314,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.ASTContext __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i)
                 {
-                    var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.TranslationUnit __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret))
@@ -13312,19 +13335,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearTranslationUnits()
                 {
-                    Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
+                    __Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint TranslationUnitsCount
                 {
                     get
                     {
-                        var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13333,7 +13356,7 @@ namespace CppSharp
             public unsafe partial class Comment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13362,19 +13385,19 @@ namespace CppSharp
                     return new Comment(native.ToPointer(), skipVTables);
                 }
 
-                public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false)
+                public static Comment __CreateInstance(Comment.__Internal native, bool skipVTables = false)
                 {
                     return new Comment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(Comment.Internal native)
+                private static void* __CopyValue(Comment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(Comment.Internal*) ret = native;
+                    *(Comment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private Comment(Comment.Internal native, bool skipVTables = false)
+                private Comment(Comment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13394,7 +13417,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = kind;
-                    Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public Comment(global::CppSharp.Parser.AST.Comment _0)
@@ -13402,7 +13425,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance);
+                    *((Comment.__Internal*) __Instance) = *((Comment.__Internal*) _0.__Instance);
                 }
 
                 public void Dispose()
@@ -13422,12 +13445,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
             }
@@ -13435,7 +13458,7 @@ namespace CppSharp
             public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 4)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13461,19 +13484,19 @@ namespace CppSharp
                     return new BlockContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false)
+                public static BlockContentComment __CreateInstance(BlockContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockContentComment.Internal native)
+                private static void* __CopyValue(BlockContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(4);
-                    *(BlockContentComment.Internal*) ret = native;
+                    *(BlockContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false)
+                private BlockContentComment(BlockContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13495,7 +13518,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13505,7 +13528,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0)
@@ -13514,20 +13537,20 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(4);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance);
+                    *((BlockContentComment.__Internal*) __Instance) = *((BlockContentComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Blocks;
+                    internal global::std.vector.__Internal Blocks;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13570,19 +13593,19 @@ namespace CppSharp
                     return new FullComment(native.ToPointer(), skipVTables);
                 }
 
-                public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false)
+                public static FullComment __CreateInstance(FullComment.__Internal native, bool skipVTables = false)
                 {
                     return new FullComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(FullComment.Internal native)
+                private static void* __CopyValue(FullComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.FullComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private FullComment(FullComment.Internal native, bool skipVTables = false)
+                private FullComment(FullComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13604,7 +13627,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public FullComment(global::CppSharp.Parser.AST.FullComment _0)
@@ -13616,7 +13639,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13624,14 +13647,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockContentComment getBlocks(uint i)
                 {
-                    var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getBlocks_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.BlockContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13645,19 +13668,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearBlocks()
                 {
-                    Internal.clearBlocks_0((__Instance + __PointerAdjustment));
+                    __Internal.clearBlocks_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint BlocksCount
                 {
                     get
                     {
-                        var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBlocksCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13666,7 +13689,7 @@ namespace CppSharp
             public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13695,19 +13718,19 @@ namespace CppSharp
                     return new InlineContentComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false)
+                public static InlineContentComment __CreateInstance(InlineContentComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineContentComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineContentComment.Internal native)
+                private static void* __CopyValue(InlineContentComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(InlineContentComment.Internal*) ret = native;
+                    *(InlineContentComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false)
+                private InlineContentComment(InlineContentComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13729,7 +13752,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -13739,7 +13762,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0)
@@ -13748,19 +13771,19 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance);
+                    *((InlineContentComment.__Internal*) __Instance) = *((InlineContentComment.__Internal*) _0.__Instance);
                 }
 
                 public bool HasTrailingNewline
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->HasTrailingNewline != 0;
+                        return ((__Internal*) __Instance)->HasTrailingNewline != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13768,7 +13791,7 @@ namespace CppSharp
             public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 32)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13777,7 +13800,7 @@ namespace CppSharp
                     public byte IsWhitespace;
 
                     [FieldOffset(8)]
-                    internal global::std.vector.Internal Content;
+                    internal global::std.vector.__Internal Content;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13820,19 +13843,19 @@ namespace CppSharp
                     return new ParagraphComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false)
+                public static ParagraphComment __CreateInstance(ParagraphComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParagraphComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParagraphComment.Internal native)
+                private static void* __CopyValue(ParagraphComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(32);
-                    global::CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false)
+                private ParagraphComment(ParagraphComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -13854,7 +13877,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(32);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0)
@@ -13866,7 +13889,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -13874,14 +13897,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineContentComment getContent(uint i)
                 {
-                    var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getContent_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.InlineContentComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret))
@@ -13895,19 +13918,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addContent_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearContent()
                 {
-                    Internal.clearContent_0((__Instance + __PointerAdjustment));
+                    __Internal.clearContent_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ContentCount
                 {
                     get
                     {
-                        var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getContentCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -13916,12 +13939,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->IsWhitespace != 0;
+                        return ((__Internal*) __Instance)->IsWhitespace != 0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
+                        ((__Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0);
                     }
                 }
             }
@@ -13929,7 +13952,7 @@ namespace CppSharp
             public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -13941,7 +13964,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -13987,10 +14010,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 32)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14031,19 +14054,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(32);
-                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -14062,7 +14085,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(32);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0)
@@ -14073,7 +14096,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -14086,7 +14109,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -14095,14 +14118,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -14112,19 +14135,19 @@ namespace CppSharp
                     return new BlockCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false)
+                public static BlockCommandComment __CreateInstance(BlockCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new BlockCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(BlockCommandComment.Internal native)
+                private static void* __CopyValue(BlockCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false)
+                private BlockCommandComment(BlockCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14146,7 +14169,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -14156,7 +14179,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0)
@@ -14168,7 +14191,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14176,15 +14199,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -14193,19 +14216,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14214,12 +14237,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -14228,16 +14251,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.ParagraphComment __result0;
-                        if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment))
-                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment];
-                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment);
+                        if (((__Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ParagraphComment))
+                            __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((__Internal*) __Instance)->ParagraphComment];
+                        else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((__Internal*) __Instance)->ParagraphComment);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -14245,7 +14268,7 @@ namespace CppSharp
             public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 48)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14257,7 +14280,7 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
                     public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction;
@@ -14293,19 +14316,19 @@ namespace CppSharp
                     return new ParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false)
+                public static ParamCommandComment __CreateInstance(ParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new ParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(ParamCommandComment.Internal native)
+                private static void* __CopyValue(ParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(48);
-                    global::CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false)
+                private ParamCommandComment(ParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14327,7 +14350,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(48);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0)
@@ -14339,7 +14362,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14347,7 +14370,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14356,12 +14379,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Direction;
+                        return ((__Internal*) __Instance)->Direction;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Direction = value;
+                        ((__Internal*) __Instance)->Direction = value;
                     }
                 }
 
@@ -14369,12 +14392,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->ParamIndex;
+                        return ((__Internal*) __Instance)->ParamIndex;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->ParamIndex = value;
+                        ((__Internal*) __Instance)->ParamIndex = value;
                     }
                 }
             }
@@ -14382,7 +14405,7 @@ namespace CppSharp
             public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14394,10 +14417,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Position;
+                    internal global::std.vector.__Internal Position;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14440,19 +14463,19 @@ namespace CppSharp
                     return new TParamCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false)
+                public static TParamCommandComment __CreateInstance(TParamCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new TParamCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TParamCommandComment.Internal native)
+                private static void* __CopyValue(TParamCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false)
+                private TParamCommandComment(TParamCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14474,7 +14497,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0)
@@ -14486,7 +14509,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14494,14 +14517,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public uint getPosition(uint i)
                 {
-                    var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getPosition_0((__Instance + __PointerAdjustment), i);
                     return __ret;
                 }
 
@@ -14510,20 +14533,20 @@ namespace CppSharp
                     fixed (uint* __refParamPtr0 = &s)
                     {
                         var __arg0 = __refParamPtr0;
-                        Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
                 public void clearPosition()
                 {
-                    Internal.clearPosition_0((__Instance + __PointerAdjustment));
+                    __Internal.clearPosition_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint PositionCount
                 {
                     get
                     {
-                        var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getPositionCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14532,13 +14555,13 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14571,19 +14594,19 @@ namespace CppSharp
                     return new VerbatimBlockLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockLineComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockLineComment(VerbatimBlockLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14605,7 +14628,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0)
@@ -14617,7 +14640,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14625,7 +14648,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14634,14 +14657,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14649,7 +14672,7 @@ namespace CppSharp
             public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14661,10 +14684,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Lines;
+                    internal global::std.vector.__Internal Lines;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14707,19 +14730,19 @@ namespace CppSharp
                     return new VerbatimBlockComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimBlockComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimBlockComment.Internal native)
+                private static void* __CopyValue(VerbatimBlockComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false)
+                private VerbatimBlockComment(VerbatimBlockComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14741,7 +14764,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0)
@@ -14753,7 +14776,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14761,14 +14784,14 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i)
                 {
-                    var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i);
+                    var __ret = __Internal.getLines_0((__Instance + __PointerAdjustment), i);
                     global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0;
                     if (__ret == IntPtr.Zero) __result0 = null;
                     else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret))
@@ -14782,19 +14805,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addLines_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearLines()
                 {
-                    Internal.clearLines_0((__Instance + __PointerAdjustment));
+                    __Internal.clearLines_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint LinesCount
                 {
                     get
                     {
-                        var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getLinesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -14803,7 +14826,7 @@ namespace CppSharp
             public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 72)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14815,10 +14838,10 @@ namespace CppSharp
                     public global::System.IntPtr ParagraphComment;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14851,19 +14874,19 @@ namespace CppSharp
                     return new VerbatimLineComment(native.ToPointer(), skipVTables);
                 }
 
-                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false)
+                public static VerbatimLineComment __CreateInstance(VerbatimLineComment.__Internal native, bool skipVTables = false)
                 {
                     return new VerbatimLineComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(VerbatimLineComment.Internal native)
+                private static void* __CopyValue(VerbatimLineComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(72);
-                    global::CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false)
+                private VerbatimLineComment(VerbatimLineComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -14885,7 +14908,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(72);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0)
@@ -14897,7 +14920,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -14905,7 +14928,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -14914,14 +14937,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -14929,7 +14952,7 @@ namespace CppSharp
             public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -14944,7 +14967,7 @@ namespace CppSharp
                     public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind;
 
                     [FieldOffset(16)]
-                    internal global::std.vector.Internal Arguments;
+                    internal global::std.vector.__Internal Arguments;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -14993,10 +15016,10 @@ namespace CppSharp
                 public unsafe partial class Argument : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 32)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Text;
+                        public global::std.basic_string.__Internal Text;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15037,19 +15060,19 @@ namespace CppSharp
                         return new Argument(native.ToPointer(), skipVTables);
                     }
 
-                    public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false)
+                    public static Argument __CreateInstance(Argument.__Internal native, bool skipVTables = false)
                     {
                         return new Argument(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Argument.Internal native)
+                    private static void* __CopyValue(Argument.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(32);
-                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Argument(Argument.Internal native, bool skipVTables = false)
+                    private Argument(Argument.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15068,7 +15091,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(32);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0)
@@ -15079,7 +15102,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15092,7 +15115,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15101,14 +15124,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15118,19 +15141,19 @@ namespace CppSharp
                     return new InlineCommandComment(native.ToPointer(), skipVTables);
                 }
 
-                public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false)
+                public static InlineCommandComment __CreateInstance(InlineCommandComment.__Internal native, bool skipVTables = false)
                 {
                     return new InlineCommandComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(InlineCommandComment.Internal native)
+                private static void* __CopyValue(InlineCommandComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false)
+                private InlineCommandComment(InlineCommandComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15152,7 +15175,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0)
@@ -15164,7 +15187,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15172,15 +15195,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.Internal();
-                    Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal();
+                    __Internal.getArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret);
                 }
 
@@ -15189,19 +15212,19 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearArguments()
                 {
-                    Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                    __Internal.clearArguments_0((__Instance + __PointerAdjustment));
                 }
 
                 public uint ArgumentsCount
                 {
                     get
                     {
-                        var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15210,12 +15233,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommandId;
+                        return ((__Internal*) __Instance)->CommandId;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommandId = value;
+                        ((__Internal*) __Instance)->CommandId = value;
                     }
                 }
 
@@ -15223,12 +15246,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->CommentRenderKind;
+                        return ((__Internal*) __Instance)->CommentRenderKind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->CommentRenderKind = value;
+                        ((__Internal*) __Instance)->CommentRenderKind = value;
                     }
                 }
             }
@@ -15236,7 +15259,7 @@ namespace CppSharp
             public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 8)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15265,19 +15288,19 @@ namespace CppSharp
                     return new HTMLTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false)
+                public static HTMLTagComment __CreateInstance(HTMLTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLTagComment.Internal native)
+                private static void* __CopyValue(HTMLTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(8);
-                    *(HTMLTagComment.Internal*) ret = native;
+                    *(HTMLTagComment.__Internal*) ret = native;
                     return ret.ToPointer();
                 }
 
-                private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false)
+                private HTMLTagComment(HTMLTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15299,7 +15322,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind)
@@ -15309,7 +15332,7 @@ namespace CppSharp
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
                     var __arg0 = Kind;
-                    Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.ctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0)
@@ -15318,14 +15341,14 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(8);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance);
+                    *((HTMLTagComment.__Internal*) __Instance) = *((HTMLTagComment.__Internal*) _0.__Instance);
                 }
             }
 
             public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 64)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15334,10 +15357,10 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [FieldOffset(40)]
-                    internal global::std.vector.Internal Attributes;
+                    internal global::std.vector.__Internal Attributes;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15388,13 +15411,13 @@ namespace CppSharp
                 public unsafe partial class Attribute : IDisposable
                 {
                     [StructLayout(LayoutKind.Explicit, Size = 64)]
-                    public partial struct Internal
+                    public partial struct __Internal
                     {
                         [FieldOffset(0)]
-                        public global::std.basic_string.Internal Name;
+                        public global::std.basic_string.__Internal Name;
 
                         [FieldOffset(32)]
-                        public global::std.basic_string.Internal Value;
+                        public global::std.basic_string.__Internal Value;
 
                         [SuppressUnmanagedCodeSecurity]
                         [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15445,19 +15468,19 @@ namespace CppSharp
                         return new Attribute(native.ToPointer(), skipVTables);
                     }
 
-                    public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false)
+                    public static Attribute __CreateInstance(Attribute.__Internal native, bool skipVTables = false)
                     {
                         return new Attribute(native, skipVTables);
                     }
 
-                    private static void* __CopyValue(Attribute.Internal native)
+                    private static void* __CopyValue(Attribute.__Internal native)
                     {
                         var ret = Marshal.AllocHGlobal(64);
-                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                        global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                         return ret.ToPointer();
                     }
 
-                    private Attribute(Attribute.Internal native, bool skipVTables = false)
+                    private Attribute(Attribute.__Internal native, bool skipVTables = false)
                         : this(__CopyValue(native), skipVTables)
                     {
                         __ownsNativeInstance = true;
@@ -15476,7 +15499,7 @@ namespace CppSharp
                         __Instance = Marshal.AllocHGlobal(64);
                         __ownsNativeInstance = true;
                         NativeToManagedMap[__Instance] = this;
-                        Internal.ctor_0((__Instance + __PointerAdjustment));
+                        __Internal.ctor_0((__Instance + __PointerAdjustment));
                     }
 
                     public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0)
@@ -15487,7 +15510,7 @@ namespace CppSharp
                         if (ReferenceEquals(_0, null))
                             throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                         var __arg0 = _0.__Instance;
-                        Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                     }
 
                     public void Dispose()
@@ -15500,7 +15523,7 @@ namespace CppSharp
                         global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy;
                         NativeToManagedMap.TryRemove(__Instance, out __dummy);
                         if (disposing)
-                            Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                            __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                         if (__ownsNativeInstance)
                             Marshal.FreeHGlobal(__Instance);
                     }
@@ -15509,14 +15532,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getName_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getName_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setName_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
 
@@ -15524,14 +15547,14 @@ namespace CppSharp
                     {
                         get
                         {
-                            var __ret = Internal.getValue_0((__Instance + __PointerAdjustment));
+                            var __ret = __Internal.getValue_0((__Instance + __PointerAdjustment));
                             return Marshal.PtrToStringAnsi(__ret);
                         }
 
                         set
                         {
                             var __arg0 = value;
-                            Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
+                            __Internal.setValue_0((__Instance + __PointerAdjustment), __arg0);
                         }
                     }
                 }
@@ -15541,19 +15564,19 @@ namespace CppSharp
                     return new HTMLStartTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLStartTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLStartTagComment.Internal native)
+                private static void* __CopyValue(HTMLStartTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(64);
-                    global::CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false)
+                private HTMLStartTagComment(HTMLStartTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15575,7 +15598,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(64);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0)
@@ -15587,7 +15610,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15595,15 +15618,15 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
 
                 public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i)
                 {
-                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal();
-                    Internal.getAttributes_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                    var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal();
+                    __Internal.getAttributes_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                     return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret);
                 }
 
@@ -15612,26 +15635,26 @@ namespace CppSharp
                     if (ReferenceEquals(s, null))
                         throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = s.__Instance;
-                    Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void clearAttributes()
                 {
-                    Internal.clearAttributes_0((__Instance + __PointerAdjustment));
+                    __Internal.clearAttributes_0((__Instance + __PointerAdjustment));
                 }
 
                 public string TagName
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -15639,7 +15662,7 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getAttributesCount_0((__Instance + __PointerAdjustment));
                         return __ret;
                     }
                 }
@@ -15648,7 +15671,7 @@ namespace CppSharp
             public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15657,7 +15680,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal TagName;
+                    public global::std.basic_string.__Internal TagName;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15690,19 +15713,19 @@ namespace CppSharp
                     return new HTMLEndTagComment(native.ToPointer(), skipVTables);
                 }
 
-                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                 {
                     return new HTMLEndTagComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(HTMLEndTagComment.Internal native)
+                private static void* __CopyValue(HTMLEndTagComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false)
+                private HTMLEndTagComment(HTMLEndTagComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15724,7 +15747,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0)
@@ -15736,7 +15759,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15744,7 +15767,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15753,14 +15776,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getTagName_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15768,7 +15791,7 @@ namespace CppSharp
             public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 40)]
-                public new partial struct Internal
+                public new partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.CommentKind Kind;
@@ -15777,7 +15800,7 @@ namespace CppSharp
                     public byte HasTrailingNewline;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [SuppressUnmanagedCodeSecurity]
                     [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -15810,19 +15833,19 @@ namespace CppSharp
                     return new TextComment(native.ToPointer(), skipVTables);
                 }
 
-                public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false)
+                public static TextComment __CreateInstance(TextComment.__Internal native, bool skipVTables = false)
                 {
                     return new TextComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(TextComment.Internal native)
+                private static void* __CopyValue(TextComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(40);
-                    global::CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private TextComment(TextComment.Internal native, bool skipVTables = false)
+                private TextComment(TextComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15844,7 +15867,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(40);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public TextComment(global::CppSharp.Parser.AST.TextComment _0)
@@ -15856,7 +15879,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public override void Dispose(bool disposing)
@@ -15864,7 +15887,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.Comment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -15873,14 +15896,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
             }
@@ -15888,16 +15911,16 @@ namespace CppSharp
             public unsafe partial class RawComment : IDisposable
             {
                 [StructLayout(LayoutKind.Explicit, Size = 80)]
-                public partial struct Internal
+                public partial struct __Internal
                 {
                     [FieldOffset(0)]
                     public global::CppSharp.Parser.AST.RawCommentKind Kind;
 
                     [FieldOffset(8)]
-                    public global::std.basic_string.Internal Text;
+                    public global::std.basic_string.__Internal Text;
 
                     [FieldOffset(40)]
-                    public global::std.basic_string.Internal BriefText;
+                    public global::std.basic_string.__Internal BriefText;
 
                     [FieldOffset(72)]
                     public global::System.IntPtr FullCommentBlock;
@@ -15951,19 +15974,19 @@ namespace CppSharp
                     return new RawComment(native.ToPointer(), skipVTables);
                 }
 
-                public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false)
+                public static RawComment __CreateInstance(RawComment.__Internal native, bool skipVTables = false)
                 {
                     return new RawComment(native, skipVTables);
                 }
 
-                private static void* __CopyValue(RawComment.Internal native)
+                private static void* __CopyValue(RawComment.__Internal native)
                 {
                     var ret = Marshal.AllocHGlobal(80);
-                    global::CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                    global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                     return ret.ToPointer();
                 }
 
-                private RawComment(RawComment.Internal native, bool skipVTables = false)
+                private RawComment(RawComment.__Internal native, bool skipVTables = false)
                     : this(__CopyValue(native), skipVTables)
                 {
                     __ownsNativeInstance = true;
@@ -15982,7 +16005,7 @@ namespace CppSharp
                     __Instance = Marshal.AllocHGlobal(80);
                     __ownsNativeInstance = true;
                     NativeToManagedMap[__Instance] = this;
-                    Internal.ctor_0((__Instance + __PointerAdjustment));
+                    __Internal.ctor_0((__Instance + __PointerAdjustment));
                 }
 
                 public RawComment(global::CppSharp.Parser.AST.RawComment _0)
@@ -15993,7 +16016,7 @@ namespace CppSharp
                     if (ReferenceEquals(_0, null))
                         throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                     var __arg0 = _0.__Instance;
-                    Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
                 }
 
                 public void Dispose()
@@ -16006,7 +16029,7 @@ namespace CppSharp
                     global::CppSharp.Parser.AST.RawComment __dummy;
                     NativeToManagedMap.TryRemove(__Instance, out __dummy);
                     if (disposing)
-                        Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                        __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                     if (__ownsNativeInstance)
                         Marshal.FreeHGlobal(__Instance);
                 }
@@ -16015,14 +16038,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16030,14 +16053,14 @@ namespace CppSharp
                 {
                     get
                     {
-                        var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment));
+                        var __ret = __Internal.getBriefText_0((__Instance + __PointerAdjustment));
                         return Marshal.PtrToStringAnsi(__ret);
                     }
 
                     set
                     {
                         var __arg0 = value;
-                        Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
+                        __Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0);
                     }
                 }
 
@@ -16045,12 +16068,12 @@ namespace CppSharp
                 {
                     get
                     {
-                        return ((Internal*) __Instance)->Kind;
+                        return ((__Internal*) __Instance)->Kind;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->Kind = value;
+                        ((__Internal*) __Instance)->Kind = value;
                     }
                 }
 
@@ -16059,16 +16082,16 @@ namespace CppSharp
                     get
                     {
                         global::CppSharp.Parser.AST.FullComment __result0;
-                        if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
-                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock))
-                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock];
-                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock);
+                        if (((__Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null;
+                        else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->FullCommentBlock))
+                            __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((__Internal*) __Instance)->FullCommentBlock];
+                        else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((__Internal*) __Instance)->FullCommentBlock);
                         return __result0;
                     }
 
                     set
                     {
-                        ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                        ((__Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                     }
                 }
             }
@@ -16083,7 +16106,7 @@ namespace CppSharp
         public unsafe partial struct SourceLocation
         {
             [StructLayout(LayoutKind.Explicit, Size = 4)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public uint ID;
@@ -16104,20 +16127,20 @@ namespace CppSharp
                 internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
             }
 
-            private SourceLocation.Internal __instance;
-            public SourceLocation.Internal __Instance { get { return __instance; } }
+            private SourceLocation.__Internal __instance;
+            public SourceLocation.__Internal __Instance { get { return __instance; } }
 
             public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
             {
                 return new SourceLocation(native.ToPointer(), skipVTables);
             }
 
-            public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false)
+            public static SourceLocation __CreateInstance(SourceLocation.__Internal native, bool skipVTables = false)
             {
                 return new SourceLocation(native, skipVTables);
             }
 
-            private SourceLocation(SourceLocation.Internal native, bool skipVTables = false)
+            private SourceLocation(SourceLocation.__Internal native, bool skipVTables = false)
                 : this()
             {
                 __instance = native;
@@ -16125,15 +16148,15 @@ namespace CppSharp
 
             private SourceLocation(void* native, bool skipVTables = false) : this()
             {
-                __instance = *(Internal*) native;
+                __instance = *(__Internal*) native;
             }
 
             public SourceLocation(uint ID)
                 : this()
             {
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
+                    __Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
                 }
             }
 
@@ -16142,9 +16165,9 @@ namespace CppSharp
             {
                 var ____arg0 = _0.__Instance;
                 var __arg0 = new global::System.IntPtr(&____arg0);
-                fixed (Internal* __instancePtr = &__instance)
+                fixed (__Internal* __instancePtr = &__instance)
                 {
-                    Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
+                    __Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0);
                 }
             }
 
@@ -16186,10 +16209,10 @@ namespace CppSharp
         public unsafe partial class ParserTargetInfo : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 184)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal ABI;
+                public global::std.basic_string.__Internal ABI;
 
                 [FieldOffset(32)]
                 public global::CppSharp.Parser.ParserIntType Char16Type;
@@ -16344,19 +16367,19 @@ namespace CppSharp
                 return new ParserTargetInfo(native.ToPointer(), skipVTables);
             }
 
-            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false)
+            public static ParserTargetInfo __CreateInstance(ParserTargetInfo.__Internal native, bool skipVTables = false)
             {
                 return new ParserTargetInfo(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserTargetInfo.Internal native)
+            private static void* __CopyValue(ParserTargetInfo.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(184);
-                global::CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false)
+            private ParserTargetInfo(ParserTargetInfo.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -16375,7 +16398,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(184);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0)
@@ -16386,7 +16409,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -16399,7 +16422,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserTargetInfo __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -16408,14 +16431,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getABI_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getABI_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setABI_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -16423,12 +16446,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Type;
+                    return ((__Internal*) __Instance)->Char16Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Type = value;
+                    ((__Internal*) __Instance)->Char16Type = value;
                 }
             }
 
@@ -16436,12 +16459,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Type;
+                    return ((__Internal*) __Instance)->Char32Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Type = value;
+                    ((__Internal*) __Instance)->Char32Type = value;
                 }
             }
 
@@ -16449,12 +16472,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Int64Type;
+                    return ((__Internal*) __Instance)->Int64Type;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Int64Type = value;
+                    ((__Internal*) __Instance)->Int64Type = value;
                 }
             }
 
@@ -16462,12 +16485,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxType;
+                    return ((__Internal*) __Instance)->IntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxType = value;
+                    ((__Internal*) __Instance)->IntMaxType = value;
                 }
             }
 
@@ -16475,12 +16498,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntPtrType;
+                    return ((__Internal*) __Instance)->IntPtrType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntPtrType = value;
+                    ((__Internal*) __Instance)->IntPtrType = value;
                 }
             }
 
@@ -16488,12 +16511,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->SizeType;
+                    return ((__Internal*) __Instance)->SizeType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->SizeType = value;
+                    ((__Internal*) __Instance)->SizeType = value;
                 }
             }
 
@@ -16501,12 +16524,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->UIntMaxType;
+                    return ((__Internal*) __Instance)->UIntMaxType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->UIntMaxType = value;
+                    ((__Internal*) __Instance)->UIntMaxType = value;
                 }
             }
 
@@ -16514,12 +16537,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharType;
+                    return ((__Internal*) __Instance)->WCharType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharType = value;
+                    ((__Internal*) __Instance)->WCharType = value;
                 }
             }
 
@@ -16527,12 +16550,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WIntType;
+                    return ((__Internal*) __Instance)->WIntType;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WIntType = value;
+                    ((__Internal*) __Instance)->WIntType = value;
                 }
             }
 
@@ -16540,12 +16563,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolAlign;
+                    return ((__Internal*) __Instance)->BoolAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolAlign = value;
+                    ((__Internal*) __Instance)->BoolAlign = value;
                 }
             }
 
@@ -16553,12 +16576,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->BoolWidth;
+                    return ((__Internal*) __Instance)->BoolWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->BoolWidth = value;
+                    ((__Internal*) __Instance)->BoolWidth = value;
                 }
             }
 
@@ -16566,12 +16589,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharAlign;
+                    return ((__Internal*) __Instance)->CharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharAlign = value;
+                    ((__Internal*) __Instance)->CharAlign = value;
                 }
             }
 
@@ -16579,12 +16602,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->CharWidth;
+                    return ((__Internal*) __Instance)->CharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->CharWidth = value;
+                    ((__Internal*) __Instance)->CharWidth = value;
                 }
             }
 
@@ -16592,12 +16615,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Align;
+                    return ((__Internal*) __Instance)->Char16Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Align = value;
+                    ((__Internal*) __Instance)->Char16Align = value;
                 }
             }
 
@@ -16605,12 +16628,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char16Width;
+                    return ((__Internal*) __Instance)->Char16Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char16Width = value;
+                    ((__Internal*) __Instance)->Char16Width = value;
                 }
             }
 
@@ -16618,12 +16641,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Align;
+                    return ((__Internal*) __Instance)->Char32Align;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Align = value;
+                    ((__Internal*) __Instance)->Char32Align = value;
                 }
             }
 
@@ -16631,12 +16654,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Char32Width;
+                    return ((__Internal*) __Instance)->Char32Width;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Char32Width = value;
+                    ((__Internal*) __Instance)->Char32Width = value;
                 }
             }
 
@@ -16644,12 +16667,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfAlign;
+                    return ((__Internal*) __Instance)->HalfAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfAlign = value;
+                    ((__Internal*) __Instance)->HalfAlign = value;
                 }
             }
 
@@ -16657,12 +16680,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->HalfWidth;
+                    return ((__Internal*) __Instance)->HalfWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->HalfWidth = value;
+                    ((__Internal*) __Instance)->HalfWidth = value;
                 }
             }
 
@@ -16670,12 +16693,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatAlign;
+                    return ((__Internal*) __Instance)->FloatAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatAlign = value;
+                    ((__Internal*) __Instance)->FloatAlign = value;
                 }
             }
 
@@ -16683,12 +16706,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->FloatWidth;
+                    return ((__Internal*) __Instance)->FloatWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->FloatWidth = value;
+                    ((__Internal*) __Instance)->FloatWidth = value;
                 }
             }
 
@@ -16696,12 +16719,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleAlign;
+                    return ((__Internal*) __Instance)->DoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleAlign = value;
+                    ((__Internal*) __Instance)->DoubleAlign = value;
                 }
             }
 
@@ -16709,12 +16732,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->DoubleWidth;
+                    return ((__Internal*) __Instance)->DoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->DoubleWidth = value;
+                    ((__Internal*) __Instance)->DoubleWidth = value;
                 }
             }
 
@@ -16722,12 +16745,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortAlign;
+                    return ((__Internal*) __Instance)->ShortAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortAlign = value;
+                    ((__Internal*) __Instance)->ShortAlign = value;
                 }
             }
 
@@ -16735,12 +16758,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ShortWidth;
+                    return ((__Internal*) __Instance)->ShortWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ShortWidth = value;
+                    ((__Internal*) __Instance)->ShortWidth = value;
                 }
             }
 
@@ -16748,12 +16771,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntAlign;
+                    return ((__Internal*) __Instance)->IntAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntAlign = value;
+                    ((__Internal*) __Instance)->IntAlign = value;
                 }
             }
 
@@ -16761,12 +16784,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntWidth;
+                    return ((__Internal*) __Instance)->IntWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntWidth = value;
+                    ((__Internal*) __Instance)->IntWidth = value;
                 }
             }
 
@@ -16774,12 +16797,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->IntMaxTWidth;
+                    return ((__Internal*) __Instance)->IntMaxTWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->IntMaxTWidth = value;
+                    ((__Internal*) __Instance)->IntMaxTWidth = value;
                 }
             }
 
@@ -16787,12 +16810,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongAlign;
+                    return ((__Internal*) __Instance)->LongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongAlign = value;
+                    ((__Internal*) __Instance)->LongAlign = value;
                 }
             }
 
@@ -16800,12 +16823,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongWidth;
+                    return ((__Internal*) __Instance)->LongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongWidth = value;
+                    ((__Internal*) __Instance)->LongWidth = value;
                 }
             }
 
@@ -16813,12 +16836,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleAlign;
+                    return ((__Internal*) __Instance)->LongDoubleAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleAlign = value;
+                    ((__Internal*) __Instance)->LongDoubleAlign = value;
                 }
             }
 
@@ -16826,12 +16849,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongDoubleWidth;
+                    return ((__Internal*) __Instance)->LongDoubleWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongDoubleWidth = value;
+                    ((__Internal*) __Instance)->LongDoubleWidth = value;
                 }
             }
 
@@ -16839,12 +16862,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongAlign;
+                    return ((__Internal*) __Instance)->LongLongAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongAlign = value;
+                    ((__Internal*) __Instance)->LongLongAlign = value;
                 }
             }
 
@@ -16852,12 +16875,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LongLongWidth;
+                    return ((__Internal*) __Instance)->LongLongWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LongLongWidth = value;
+                    ((__Internal*) __Instance)->LongLongWidth = value;
                 }
             }
 
@@ -16865,12 +16888,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerAlign;
+                    return ((__Internal*) __Instance)->PointerAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerAlign = value;
+                    ((__Internal*) __Instance)->PointerAlign = value;
                 }
             }
 
@@ -16878,12 +16901,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->PointerWidth;
+                    return ((__Internal*) __Instance)->PointerWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->PointerWidth = value;
+                    ((__Internal*) __Instance)->PointerWidth = value;
                 }
             }
 
@@ -16891,12 +16914,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharAlign;
+                    return ((__Internal*) __Instance)->WCharAlign;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharAlign = value;
+                    ((__Internal*) __Instance)->WCharAlign = value;
                 }
             }
 
@@ -16904,12 +16927,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->WCharWidth;
+                    return ((__Internal*) __Instance)->WCharWidth;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->WCharWidth = value;
+                    ((__Internal*) __Instance)->WCharWidth = value;
                 }
             }
         }
@@ -16964,31 +16987,31 @@ namespace CppSharp
         public unsafe partial class CppParserOptions : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 272)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                internal global::std.vector.Internal Arguments;
+                internal global::std.vector.__Internal Arguments;
 
                 [FieldOffset(24)]
-                public global::std.basic_string.Internal LibraryFile;
+                public global::std.basic_string.__Internal LibraryFile;
 
                 [FieldOffset(56)]
-                internal global::std.vector.Internal SourceFiles;
+                internal global::std.vector.__Internal SourceFiles;
 
                 [FieldOffset(80)]
-                internal global::std.vector.Internal IncludeDirs;
+                internal global::std.vector.__Internal IncludeDirs;
 
                 [FieldOffset(104)]
-                internal global::std.vector.Internal SystemIncludeDirs;
+                internal global::std.vector.__Internal SystemIncludeDirs;
 
                 [FieldOffset(128)]
-                internal global::std.vector.Internal Defines;
+                internal global::std.vector.__Internal Defines;
 
                 [FieldOffset(152)]
-                internal global::std.vector.Internal Undefines;
+                internal global::std.vector.__Internal Undefines;
 
                 [FieldOffset(176)]
-                internal global::std.vector.Internal LibraryDirs;
+                internal global::std.vector.__Internal LibraryDirs;
 
                 [FieldOffset(200)]
                 public global::System.IntPtr ASTContext;
@@ -16997,7 +17020,7 @@ namespace CppSharp
                 public int ToolSetToUse;
 
                 [FieldOffset(216)]
-                public global::std.basic_string.Internal TargetTriple;
+                public global::std.basic_string.__Internal TargetTriple;
 
                 [FieldOffset(248)]
                 public global::CppSharp.Parser.AST.CppAbi Abi;
@@ -17209,19 +17232,19 @@ namespace CppSharp
                 return new CppParserOptions(native.ToPointer(), skipVTables);
             }
 
-            public static CppParserOptions __CreateInstance(CppParserOptions.Internal native, bool skipVTables = false)
+            public static CppParserOptions __CreateInstance(CppParserOptions.__Internal native, bool skipVTables = false)
             {
                 return new CppParserOptions(native, skipVTables);
             }
 
-            private static void* __CopyValue(CppParserOptions.Internal native)
+            private static void* __CopyValue(CppParserOptions.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(272);
-                global::CppSharp.Parser.CppParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private CppParserOptions(CppParserOptions.Internal native, bool skipVTables = false)
+            private CppParserOptions(CppParserOptions.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17240,7 +17263,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(272);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0)
@@ -17251,7 +17274,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17264,135 +17287,135 @@ namespace CppSharp
                 global::CppSharp.Parser.CppParserOptions __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public string getArguments(uint i)
             {
-                var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getArguments_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addArguments(string s)
             {
                 var __arg0 = s;
-                Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearArguments()
             {
-                Internal.clearArguments_0((__Instance + __PointerAdjustment));
+                __Internal.clearArguments_0((__Instance + __PointerAdjustment));
             }
 
             public string getSourceFiles(uint i)
             {
-                var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSourceFiles(string s)
             {
                 var __arg0 = s;
-                Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSourceFiles()
             {
-                Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
+                __Internal.clearSourceFiles_0((__Instance + __PointerAdjustment));
             }
 
             public string getIncludeDirs(uint i)
             {
-                var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearIncludeDirs()
             {
-                Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getSystemIncludeDirs(uint i)
             {
-                var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addSystemIncludeDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearSystemIncludeDirs()
             {
-                Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment));
             }
 
             public string getDefines(uint i)
             {
-                var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getDefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addDefines(string s)
             {
                 var __arg0 = s;
-                Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDefines()
             {
-                Internal.clearDefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearDefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getUndefines(uint i)
             {
-                var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getUndefines_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addUndefines(string s)
             {
                 var __arg0 = s;
-                Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearUndefines()
             {
-                Internal.clearUndefines_0((__Instance + __PointerAdjustment));
+                __Internal.clearUndefines_0((__Instance + __PointerAdjustment));
             }
 
             public string getLibraryDirs(uint i)
             {
-                var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
+                var __ret = __Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i);
                 return Marshal.PtrToStringAnsi(__ret);
             }
 
             public void addLibraryDirs(string s)
             {
                 var __arg0 = s;
-                Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearLibraryDirs()
             {
-                Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
+                __Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment));
             }
 
             public uint ArgumentsCount
             {
                 get
                 {
-                    var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getArgumentsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17401,14 +17424,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryFile_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17416,7 +17439,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17425,7 +17448,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17434,7 +17457,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17443,7 +17466,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17452,7 +17475,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getUndefinesCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17461,7 +17484,7 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17470,14 +17493,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getTargetTriple_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17486,16 +17509,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -17503,12 +17526,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ToolSetToUse;
+                    return ((__Internal*) __Instance)->ToolSetToUse;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ToolSetToUse = value;
+                    ((__Internal*) __Instance)->ToolSetToUse = value;
                 }
             }
 
@@ -17516,12 +17539,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Abi;
+                    return ((__Internal*) __Instance)->Abi;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Abi = value;
+                    ((__Internal*) __Instance)->Abi = value;
                 }
             }
 
@@ -17529,12 +17552,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoStandardIncludes != 0;
+                    return ((__Internal*) __Instance)->NoStandardIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17542,12 +17565,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->NoBuiltinIncludes != 0;
+                    return ((__Internal*) __Instance)->NoBuiltinIncludes != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17555,12 +17578,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->MicrosoftMode != 0;
+                    return ((__Internal*) __Instance)->MicrosoftMode != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17568,12 +17591,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Verbose != 0;
+                    return ((__Internal*) __Instance)->Verbose != 0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
+                    ((__Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0);
                 }
             }
 
@@ -17581,12 +17604,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LanguageVersion;
+                    return ((__Internal*) __Instance)->LanguageVersion;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LanguageVersion = value;
+                    ((__Internal*) __Instance)->LanguageVersion = value;
                 }
             }
 
@@ -17595,16 +17618,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.ParserTargetInfo __result0;
-                    if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo))
-                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo];
-                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo);
+                    if (((__Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->TargetInfo))
+                        __result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((__Internal*) __Instance)->TargetInfo];
+                    else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((__Internal*) __Instance)->TargetInfo);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -17612,13 +17635,13 @@ namespace CppSharp
         public unsafe partial class ParserDiagnostic : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 80)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
-                public global::std.basic_string.Internal FileName;
+                public global::std.basic_string.__Internal FileName;
 
                 [FieldOffset(32)]
-                public global::std.basic_string.Internal Message;
+                public global::std.basic_string.__Internal Message;
 
                 [FieldOffset(64)]
                 public global::CppSharp.Parser.ParserDiagnosticLevel Level;
@@ -17678,19 +17701,19 @@ namespace CppSharp
                 return new ParserDiagnostic(native.ToPointer(), skipVTables);
             }
 
-            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false)
+            public static ParserDiagnostic __CreateInstance(ParserDiagnostic.__Internal native, bool skipVTables = false)
             {
                 return new ParserDiagnostic(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserDiagnostic.Internal native)
+            private static void* __CopyValue(ParserDiagnostic.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(80);
-                global::CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false)
+            private ParserDiagnostic(ParserDiagnostic.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17709,7 +17732,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(80);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0)
@@ -17720,7 +17743,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17733,7 +17756,7 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserDiagnostic __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
@@ -17742,14 +17765,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getFileName_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17757,14 +17780,14 @@ namespace CppSharp
             {
                 get
                 {
-                    var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getMessage_0((__Instance + __PointerAdjustment));
                     return Marshal.PtrToStringAnsi(__ret);
                 }
 
                 set
                 {
                     var __arg0 = value;
-                    Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
+                    __Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0);
                 }
             }
 
@@ -17772,12 +17795,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Level;
+                    return ((__Internal*) __Instance)->Level;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Level = value;
+                    ((__Internal*) __Instance)->Level = value;
                 }
             }
 
@@ -17785,12 +17808,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->LineNumber;
+                    return ((__Internal*) __Instance)->LineNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->LineNumber = value;
+                    ((__Internal*) __Instance)->LineNumber = value;
                 }
             }
 
@@ -17798,12 +17821,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->ColumnNumber;
+                    return ((__Internal*) __Instance)->ColumnNumber;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ColumnNumber = value;
+                    ((__Internal*) __Instance)->ColumnNumber = value;
                 }
             }
         }
@@ -17811,13 +17834,13 @@ namespace CppSharp
         public unsafe partial class ParserResult : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 56)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::CppSharp.Parser.ParserResultKind Kind;
 
                 [FieldOffset(8)]
-                internal global::std.vector.Internal Diagnostics;
+                internal global::std.vector.__Internal Diagnostics;
 
                 [FieldOffset(32)]
                 public global::System.IntPtr ASTContext;
@@ -17877,19 +17900,19 @@ namespace CppSharp
                 return new ParserResult(native.ToPointer(), skipVTables);
             }
 
-            public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false)
+            public static ParserResult __CreateInstance(ParserResult.__Internal native, bool skipVTables = false)
             {
                 return new ParserResult(native, skipVTables);
             }
 
-            private static void* __CopyValue(ParserResult.Internal native)
+            private static void* __CopyValue(ParserResult.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(56);
-                global::CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native));
+                global::CppSharp.Parser.ParserResult.__Internal.cctor_1(ret, new global::System.IntPtr(&native));
                 return ret.ToPointer();
             }
 
-            private ParserResult(ParserResult.Internal native, bool skipVTables = false)
+            private ParserResult(ParserResult.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -17908,7 +17931,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(56);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                Internal.ctor_0((__Instance + __PointerAdjustment));
+                __Internal.ctor_0((__Instance + __PointerAdjustment));
             }
 
             public ParserResult(global::CppSharp.Parser.ParserResult _0)
@@ -17919,7 +17942,7 @@ namespace CppSharp
                 if (ReferenceEquals(_0, null))
                     throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = _0.__Instance;
-                Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
+                __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void Dispose()
@@ -17932,15 +17955,15 @@ namespace CppSharp
                 global::CppSharp.Parser.ParserResult __dummy;
                 NativeToManagedMap.TryRemove(__Instance, out __dummy);
                 if (disposing)
-                    Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                    __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
                 if (__ownsNativeInstance)
                     Marshal.FreeHGlobal(__Instance);
             }
 
             public global::CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i)
             {
-                var __ret = new global::CppSharp.Parser.ParserDiagnostic.Internal();
-                Internal.getDiagnostics_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
+                var __ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal();
+                __Internal.getDiagnostics_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i);
                 return global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret);
             }
 
@@ -17949,19 +17972,19 @@ namespace CppSharp
                 if (ReferenceEquals(s, null))
                     throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
                 var __arg0 = s.__Instance;
-                Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
+                __Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0);
             }
 
             public void clearDiagnostics()
             {
-                Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
+                __Internal.clearDiagnostics_0((__Instance + __PointerAdjustment));
             }
 
             public uint DiagnosticsCount
             {
                 get
                 {
-                    var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
+                    var __ret = __Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment));
                     return __ret;
                 }
             }
@@ -17970,12 +17993,12 @@ namespace CppSharp
             {
                 get
                 {
-                    return ((Internal*) __Instance)->Kind;
+                    return ((__Internal*) __Instance)->Kind;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Kind = value;
+                    ((__Internal*) __Instance)->Kind = value;
                 }
             }
 
@@ -17984,16 +18007,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.ASTContext __result0;
-                    if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext))
-                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext];
-                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
+                    if (((__Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->ASTContext))
+                        __result0 = (global::CppSharp.Parser.AST.ASTContext) global::CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((__Internal*) __Instance)->ASTContext];
+                    else __result0 = global::CppSharp.Parser.AST.ASTContext.__CreateInstance(((__Internal*) __Instance)->ASTContext);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
 
@@ -18002,16 +18025,16 @@ namespace CppSharp
                 get
                 {
                     global::CppSharp.Parser.AST.NativeLibrary __result0;
-                    if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
-                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library))
-                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library];
-                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
+                    if (((__Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null;
+                    else if (global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((__Internal*) __Instance)->Library))
+                        __result0 = (global::CppSharp.Parser.AST.NativeLibrary) global::CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((__Internal*) __Instance)->Library];
+                    else __result0 = global::CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((__Internal*) __Instance)->Library);
                     return __result0;
                 }
 
                 set
                 {
-                    ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
+                    ((__Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
                 }
             }
         }
@@ -18019,7 +18042,7 @@ namespace CppSharp
         public unsafe partial class ClangParser : IDisposable
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [SuppressUnmanagedCodeSecurity]
                 [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -18055,19 +18078,19 @@ namespace CppSharp
                 return new ClangParser(native.ToPointer(), skipVTables);
             }
 
-            public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false)
+            public static ClangParser __CreateInstance(ClangParser.__Internal native, bool skipVTables = false)
             {
                 return new ClangParser(native, skipVTables);
             }
 
-            private static void* __CopyValue(ClangParser.Internal native)
+            private static void* __CopyValue(ClangParser.__Internal native)
             {
                 var ret = Marshal.AllocHGlobal(0);
-                *(ClangParser.Internal*) ret = native;
+                *(ClangParser.__Internal*) ret = native;
                 return ret.ToPointer();
             }
 
-            private ClangParser(ClangParser.Internal native, bool skipVTables = false)
+            private ClangParser(ClangParser.__Internal native, bool skipVTables = false)
                 : this(__CopyValue(native), skipVTables)
             {
                 __ownsNativeInstance = true;
@@ -18093,7 +18116,7 @@ namespace CppSharp
                 __Instance = Marshal.AllocHGlobal(0);
                 __ownsNativeInstance = true;
                 NativeToManagedMap[__Instance] = this;
-                *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance);
+                *((ClangParser.__Internal*) __Instance) = *((ClangParser.__Internal*) _0.__Instance);
             }
 
             public void Dispose()
@@ -18112,7 +18135,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseHeader_0(__arg0);
+                var __ret = __Internal.ParseHeader_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18124,7 +18147,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.ParseLibrary_0(__arg0);
+                var __ret = __Internal.ParseLibrary_0(__arg0);
                 global::CppSharp.Parser.ParserResult __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret))
@@ -18136,7 +18159,7 @@ namespace CppSharp
             public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
             {
                 var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
-                var __ret = Internal.GetTargetInfo_0(__arg0);
+                var __ret = __Internal.GetTargetInfo_0(__arg0);
                 global::CppSharp.Parser.ParserTargetInfo __result0;
                 if (__ret == IntPtr.Zero) __result0 = null;
                 else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
index 2f7adda8..fe5508a2 100644
--- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
+++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
@@ -8,10 +8,18 @@ using System;
 using System.Runtime.InteropServices;
 using System.Security;
 
+namespace __vcrt_va_list_is_reference
+{
+    [StructLayout(LayoutKind.Explicit, Size = 0)]
+    public unsafe partial struct __Internal
+    {
+    }
+}
+
 public unsafe partial class __crt_locale_data_public
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _locale_pctype;
@@ -27,7 +35,7 @@ public unsafe partial class __crt_locale_data_public
 public unsafe partial class __crt_locale_pointers
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr locinfo;
@@ -40,7 +48,7 @@ public unsafe partial class __crt_locale_pointers
 public unsafe partial class _Mbstatet
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Wchar;
@@ -63,7 +71,7 @@ namespace std
     public unsafe partial class _Lockit
     {
         [StructLayout(LayoutKind.Explicit, Size = 4)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Locktype;
@@ -73,7 +81,7 @@ namespace std
     public unsafe partial class _Init_locks
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -82,7 +90,7 @@ namespace std
 public unsafe partial class _div_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -95,7 +103,7 @@ public unsafe partial class _div_t
 public unsafe partial class _ldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int quot;
@@ -108,7 +116,7 @@ public unsafe partial class _ldiv_t
 public unsafe partial class _lldiv_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public long quot;
@@ -121,7 +129,7 @@ public unsafe partial class _lldiv_t
 public unsafe partial class _LDOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 10)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte ld[10];
@@ -158,7 +166,7 @@ public unsafe partial class _LDOUBLE
 public unsafe partial class _CRT_DOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public double x;
@@ -168,7 +176,7 @@ public unsafe partial class _CRT_DOUBLE
 public unsafe partial class _CRT_FLOAT
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public float f;
@@ -178,7 +186,7 @@ public unsafe partial class _CRT_FLOAT
 public unsafe partial class _LONGDOUBLE
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
     }
 }
@@ -186,7 +194,7 @@ public unsafe partial class _LONGDOUBLE
 public unsafe partial class _LDBL12
 {
     [StructLayout(LayoutKind.Explicit, Size = 12)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed byte ld12[12];
@@ -229,7 +237,7 @@ public unsafe partial class _LDBL12
 public unsafe partial struct _Dconst
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Word[8];
@@ -266,7 +274,7 @@ public unsafe partial struct _Dconst
 namespace _Combined_type
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -274,7 +282,7 @@ namespace _Combined_type
 namespace _Real_widened
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -282,7 +290,7 @@ namespace _Real_widened
 namespace _Real_type
 {
     [StructLayout(LayoutKind.Explicit, Size = 0)]
-    public unsafe partial struct Internal
+    public unsafe partial struct __Internal
     {
     }
 }
@@ -290,7 +298,7 @@ namespace _Real_type
 public unsafe partial class _exception
 {
     [StructLayout(LayoutKind.Explicit, Size = 40)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int type;
@@ -312,7 +320,7 @@ public unsafe partial class _exception
 public unsafe partial class _complex
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public double x;
@@ -325,7 +333,7 @@ public unsafe partial class _complex
 public unsafe partial struct _double_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[4];
@@ -347,7 +355,7 @@ public unsafe partial struct _double_val
 public unsafe partial struct _float_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 4)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[2];
@@ -363,7 +371,7 @@ public unsafe partial struct _float_val
 public unsafe partial struct _ldouble_val
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Sh[4];
@@ -382,7 +390,7 @@ public unsafe partial struct _ldouble_val
 public unsafe partial struct _float_const
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ushort _Word[4];
@@ -413,7 +421,7 @@ namespace std
     namespace integral_constant
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -421,7 +429,7 @@ namespace std
     namespace _Is_integral
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -429,7 +437,15 @@ namespace std
     namespace _Is_floating_point
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -437,7 +453,7 @@ namespace std
     public unsafe partial class _Nil
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -445,7 +461,7 @@ namespace std
     public unsafe partial class _Wrap_int
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -454,7 +470,7 @@ namespace std
 public unsafe partial class _wfinddata32_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 540)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -1256,7 +1272,7 @@ public unsafe partial class _wfinddata32_t
 public unsafe partial class _wfinddata32i64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 544)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -2058,7 +2074,7 @@ public unsafe partial class _wfinddata32i64_t
 public unsafe partial class _wfinddata64i32_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 560)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -2860,7 +2876,7 @@ public unsafe partial class _wfinddata64i32_t
 public unsafe partial class _wfinddata64_t
 {
     [StructLayout(LayoutKind.Explicit, Size = 560)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint attrib;
@@ -3662,7 +3678,7 @@ public unsafe partial class _wfinddata64_t
 public unsafe partial class _iobuf
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _Placeholder;
@@ -3672,7 +3688,7 @@ public unsafe partial class _iobuf
 public unsafe partial class tm
 {
     [StructLayout(LayoutKind.Explicit, Size = 36)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public int tm_sec;
@@ -3706,7 +3722,7 @@ public unsafe partial class tm
 public unsafe partial class _stat32
 {
     [StructLayout(LayoutKind.Explicit, Size = 36)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3746,7 +3762,7 @@ public unsafe partial class _stat32
 public unsafe partial class _stat32i64
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3786,7 +3802,7 @@ public unsafe partial class _stat32i64
 public unsafe partial class _stat64i32
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3826,7 +3842,7 @@ public unsafe partial class _stat64i32
 public unsafe partial class _stat64
 {
     [StructLayout(LayoutKind.Explicit, Size = 56)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3866,7 +3882,7 @@ public unsafe partial class _stat64
 public unsafe partial class stat
 {
     [StructLayout(LayoutKind.Explicit, Size = 48)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint st_dev;
@@ -3912,7 +3928,7 @@ namespace std
     namespace _If
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3920,7 +3936,7 @@ namespace std
     namespace plus
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3928,7 +3944,7 @@ namespace std
     namespace minus
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3936,7 +3952,7 @@ namespace std
     namespace multiplies
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3944,7 +3960,7 @@ namespace std
     namespace equal_to
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3952,7 +3968,7 @@ namespace std
     namespace less
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3960,7 +3976,7 @@ namespace std
     namespace _Bitwise_hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3968,7 +3984,7 @@ namespace std
     namespace hash
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -3995,7 +4011,7 @@ namespace std
     namespace numeric_limits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4003,7 +4019,7 @@ namespace std
     public unsafe partial class _Num_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4011,7 +4027,7 @@ namespace std
     public unsafe partial class _Num_int_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4019,7 +4035,7 @@ namespace std
     public unsafe partial class _Num_float_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4027,10 +4043,50 @@ namespace std
 
 namespace std
 {
+    namespace _Is_memfunptr
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
     namespace is_void
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace remove_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_lvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace is_rvalue_reference
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace _Is_pointer
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4038,7 +4094,7 @@ namespace std
     namespace integer_sequence
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4046,7 +4102,7 @@ namespace std
     public unsafe partial class _Invoker_pmf_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4054,7 +4110,7 @@ namespace std
     public unsafe partial class _Invoker_pmf_pointer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4062,7 +4118,7 @@ namespace std
     public unsafe partial class _Invoker_pmd_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4070,7 +4126,7 @@ namespace std
     public unsafe partial class _Invoker_pmd_pointer
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4078,7 +4134,7 @@ namespace std
     public unsafe partial class _Invoker_functor
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4086,7 +4142,7 @@ namespace std
     public unsafe partial class _Unforced
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4094,7 +4150,7 @@ namespace std
     public unsafe partial class _Unique_tag_result_of
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4102,7 +4158,7 @@ namespace std
     public unsafe partial class _Swappable_with_helper_unique_type
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4113,7 +4169,7 @@ namespace std
     public unsafe partial class exception_ptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Data1;
@@ -4126,13 +4182,13 @@ namespace std
     public unsafe partial class nested_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_nested_exception;
 
             [FieldOffset(8)]
-            internal global::std.exception_ptr.Internal _Exc;
+            internal global::std.exception_ptr.__Internal _Exc;
         }
     }
 }
@@ -4140,7 +4196,7 @@ namespace std
 public unsafe partial class _heapinfo
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _pentry;
@@ -4156,7 +4212,7 @@ public unsafe partial class _heapinfo
 public unsafe partial class __std_exception_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _What;
@@ -4171,52 +4227,52 @@ namespace std
     public unsafe partial class exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_exception
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_array_new_length
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -4226,7 +4282,7 @@ namespace std
     public unsafe partial class nothrow_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4235,7 +4291,7 @@ namespace std
 public unsafe partial class _CrtMemState
 {
     [StructLayout(LayoutKind.Explicit, Size = 104)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr pBlockHeader;
@@ -4283,7 +4339,7 @@ namespace std
     namespace _Char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4291,7 +4347,7 @@ namespace std
     namespace char_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4302,7 +4358,7 @@ namespace std
     public unsafe partial class piecewise_construct_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4317,7 +4373,7 @@ namespace std
     namespace _Yarn
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internalc__N_std_S__Yarn__C
+        public unsafe partial struct __Internalc__N_std_S__Yarn__C
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myptr;
@@ -4327,7 +4383,7 @@ namespace std
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internalc__N_std_S__Yarn__W
+        public unsafe partial struct __Internalc__N_std_S__Yarn__W
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myptr;
@@ -4340,311 +4396,327 @@ namespace std
     namespace _Compressed_pair
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._String_val.Internal _Myval2;
+            internal global::std._String_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Tree_val.Internal _Myval2;
+            internal global::std._Tree_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
 
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
+        public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
         {
             [FieldOffset(0)]
-            internal global::std._Vector_val.Internal _Myval2;
+            internal global::std._Vector_val.__Internal _Myval2;
         }
     }
 
     namespace iterator
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace iterator_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace _Ptr_cat_helper
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4652,7 +4724,7 @@ namespace std
     namespace _Is_character
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4660,7 +4732,7 @@ namespace std
     public unsafe partial class _Container_base0
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4668,7 +4740,7 @@ namespace std
     public unsafe partial class _Iterator_base0
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4676,7 +4748,7 @@ namespace std
     public unsafe partial class _Container_proxy
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Mycont;
@@ -4689,7 +4761,7 @@ namespace std
     public unsafe partial class _Container_base12
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myproxy;
@@ -4699,7 +4771,7 @@ namespace std
     public unsafe partial class _Iterator_base12
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myproxy;
@@ -4712,7 +4784,7 @@ namespace std
     public unsafe partial class _Zero_then_variadic_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4720,7 +4792,7 @@ namespace std
     public unsafe partial class _One_then_variadic_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4728,7 +4800,7 @@ namespace std
     public unsafe partial class input_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4736,7 +4808,7 @@ namespace std
     public unsafe partial class _Mutable_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4744,7 +4816,7 @@ namespace std
     public unsafe partial class output_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4752,7 +4824,7 @@ namespace std
     public unsafe partial class forward_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4760,7 +4832,7 @@ namespace std
     public unsafe partial class bidirectional_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4768,7 +4840,7 @@ namespace std
     public unsafe partial class random_access_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4776,7 +4848,7 @@ namespace std
     public unsafe partial class _General_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4784,7 +4856,7 @@ namespace std
     public unsafe partial class _Trivially_copyable_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4792,7 +4864,7 @@ namespace std
     public unsafe partial class _Really_trivial_ptr_iterator_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4800,7 +4872,7 @@ namespace std
     public unsafe partial class _Any_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4808,7 +4880,7 @@ namespace std
     public unsafe partial class allocator_arg_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4819,7 +4891,7 @@ namespace std
     public unsafe partial class allocator : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -4840,19 +4912,19 @@ namespace std
             return new allocator(native.ToPointer(), skipVTables);
         }
 
-        public static allocator __CreateInstance(allocator.Internal native, bool skipVTables = false)
+        public static allocator __CreateInstance(allocator.__Internal native, bool skipVTables = false)
         {
             return new allocator(native, skipVTables);
         }
 
-        private static void* __CopyValue(allocator.Internal native)
+        private static void* __CopyValue(allocator.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(0);
-            *(allocator.Internal*) ret = native;
+            *(allocator.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private allocator(allocator.Internal native, bool skipVTables = false)
+        private allocator(allocator.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -4871,7 +4943,7 @@ namespace std
             __Instance = Marshal.AllocHGlobal(0);
             __ownsNativeInstance = true;
             NativeToManagedMap[__Instance] = this;
-            Internal.ctor_0((__Instance + __PointerAdjustment));
+            __Internal.ctor_0((__Instance + __PointerAdjustment));
         }
 
         public void Dispose()
@@ -4892,7 +4964,7 @@ namespace std
     public unsafe partial class rebind
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
 
@@ -4900,7 +4972,7 @@ namespace std
     namespace _Wrap_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -4908,7 +4980,7 @@ namespace std
         public unsafe partial class rebind
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -4917,7 +4989,7 @@ namespace std
     namespace allocator_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4925,7 +4997,15 @@ namespace std
     namespace _Simple_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
+        {
+        }
+    }
+
+    namespace pointer_traits
+    {
+        [StructLayout(LayoutKind.Explicit, Size = 0)]
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4933,7 +5013,7 @@ namespace std
     namespace _Get_voidptr
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -4941,7 +5021,7 @@ namespace std
     public unsafe partial class _Alloc_allocate
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4949,7 +5029,7 @@ namespace std
     public unsafe partial class _Has_no_alloc_construct_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4957,7 +5037,7 @@ namespace std
     public unsafe partial class _Has_no_alloc_destroy_tag
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4965,7 +5045,7 @@ namespace std
     public unsafe partial class _Alloc_max_size
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4973,7 +5053,7 @@ namespace std
     public unsafe partial class _Alloc_select
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -4995,7 +5075,7 @@ namespace std
 public unsafe partial class _SETJMP_FLOAT128
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed ulong Part[2];
@@ -5008,7 +5088,7 @@ public unsafe partial class _SETJMP_FLOAT128
 public unsafe partial class _JUMP_BUFFER
 {
     [StructLayout(LayoutKind.Explicit, Size = 256)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong Frame;
@@ -5053,41 +5133,41 @@ public unsafe partial class _JUMP_BUFFER
         public ushort Spare;
 
         [FieldOffset(96)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm6;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm6;
 
         [FieldOffset(112)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm7;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm7;
 
         [FieldOffset(128)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm8;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm8;
 
         [FieldOffset(144)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm9;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm9;
 
         [FieldOffset(160)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm10;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm10;
 
         [FieldOffset(176)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm11;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm11;
 
         [FieldOffset(192)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm12;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm12;
 
         [FieldOffset(208)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm13;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm13;
 
         [FieldOffset(224)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm14;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm14;
 
         [FieldOffset(240)]
-        internal global::_SETJMP_FLOAT128.Internal Xmm15;
+        internal global::_SETJMP_FLOAT128.__Internal Xmm15;
     }
 }
 
 public unsafe partial struct __m256
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed float m256_f32[8];
@@ -5118,7 +5198,7 @@ public unsafe partial struct __m256
 public unsafe partial class __m256d
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed double m256d_f64[4];
@@ -5137,7 +5217,7 @@ public unsafe partial class __m256d
 public unsafe partial struct __m256i
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte m256i_i8[32];
@@ -5504,7 +5584,7 @@ public unsafe partial struct __m256i
 public unsafe partial struct __m128i
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed sbyte m128i_i8[16];
@@ -5691,7 +5771,7 @@ public unsafe partial struct __m128i
 public unsafe partial class __m128d
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed double m128d_f64[2];
@@ -5704,7 +5784,7 @@ public unsafe partial class __m128d
 public unsafe partial struct __m128
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public fixed float m128_f32[4];
@@ -5903,7 +5983,7 @@ public unsafe partial struct __m128
 public unsafe partial struct __m64
 {
     [StructLayout(LayoutKind.Explicit, Size = 8)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public ulong m64_u64;
@@ -6012,10 +6092,10 @@ namespace std
     public unsafe partial class basic_string : IDisposable
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
 
             [SuppressUnmanagedCodeSecurity]
             [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@@ -6041,19 +6121,19 @@ namespace std
             return new basic_string(native.ToPointer(), skipVTables);
         }
 
-        public static basic_string __CreateInstance(basic_string.Internal native, bool skipVTables = false)
+        public static basic_string __CreateInstance(basic_string.__Internal native, bool skipVTables = false)
         {
             return new basic_string(native, skipVTables);
         }
 
-        private static void* __CopyValue(basic_string.Internal native)
+        private static void* __CopyValue(basic_string.__Internal native)
         {
             var ret = Marshal.AllocHGlobal(32);
-            *(basic_string.Internal*) ret = native;
+            *(basic_string.__Internal*) ret = native;
             return ret.ToPointer();
         }
 
-        private basic_string(basic_string.Internal native, bool skipVTables = false)
+        private basic_string(basic_string.__Internal native, bool skipVTables = false)
             : this(__CopyValue(native), skipVTables)
         {
             __ownsNativeInstance = true;
@@ -6077,14 +6157,14 @@ namespace std
             global::std.basic_string __dummy;
             NativeToManagedMap.TryRemove(__Instance, out __dummy);
             if (disposing)
-                Internal.dtor_0((__Instance + __PointerAdjustment), 0);
+                __Internal.dtor_0((__Instance + __PointerAdjustment), 0);
             if (__ownsNativeInstance)
                 Marshal.FreeHGlobal(__Instance);
         }
 
         public string c_str()
         {
-            var __ret = Internal.c_str_0((__Instance + __PointerAdjustment));
+            var __ret = __Internal.c_str_0((__Instance + __PointerAdjustment));
             return Marshal.PtrToStringAnsi(__ret);
         }
     }
@@ -6092,20 +6172,20 @@ namespace std
     namespace _String_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
         }
     }
 
     namespace _String_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 32)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._String_val._Bxty.Internal _Bx;
+            internal global::std._String_val._Bxty.__Internal _Bx;
 
             [FieldOffset(16)]
             public ulong _Mysize;
@@ -6118,7 +6198,7 @@ namespace std
         public unsafe partial struct _Bxty
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6127,7 +6207,7 @@ namespace std
     namespace _String_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6138,117 +6218,117 @@ namespace std
     public unsafe partial class logic_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class domain_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class invalid_argument
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class length_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class out_of_range
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class runtime_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class overflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class underflow_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class range_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -6258,7 +6338,7 @@ namespace std
     namespace _Vec_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6266,7 +6346,7 @@ namespace std
     namespace _Vector_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myfirst;
@@ -6282,20 +6362,20 @@ namespace std
     namespace _Vector_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
         }
     }
 
     namespace vector
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
         }
     }
 }
@@ -6305,7 +6385,7 @@ namespace std
     public unsafe partial class _Ignore
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6313,7 +6393,7 @@ namespace std
     public unsafe partial class _Tuple_alloc_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6321,7 +6401,7 @@ namespace std
     public unsafe partial class _Exact_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6329,7 +6409,7 @@ namespace std
     public unsafe partial class _Unpack_tuple_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6337,7 +6417,7 @@ namespace std
     public unsafe partial class _Alloc_exact_args_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6345,7 +6425,7 @@ namespace std
     public unsafe partial class _Alloc_unpack_tuple_t
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6356,7 +6436,7 @@ namespace std
     namespace _Tree_simple_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6364,7 +6444,7 @@ namespace std
     namespace _Tree_base_types
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6372,7 +6452,7 @@ namespace std
     namespace _Tree_val
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Myhead;
@@ -6385,27 +6465,27 @@ namespace std
     namespace _Tree_comp_alloc
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
     }
 
     namespace _Tree
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
 
 
         public unsafe partial class _Copy_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
 
@@ -6414,7 +6494,7 @@ namespace std
         public unsafe partial class _Move_tag
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6426,7 +6506,7 @@ namespace std
     namespace _Tmap_traits
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
 
@@ -6434,7 +6514,7 @@ namespace std
         public unsafe partial class value_compare
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -6443,10 +6523,10 @@ namespace std
     namespace map
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
+            internal global::std._Compressed_pair.__Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
         }
     }
 }
@@ -6454,7 +6534,7 @@ namespace std
 public unsafe partial class __std_type_info_data
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr _UndecoratedName;
@@ -6467,13 +6547,13 @@ public unsafe partial class __std_type_info_data
 public unsafe partial class type_info
 {
     [StructLayout(LayoutKind.Explicit, Size = 24)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr vfptr_type_info;
 
         [FieldOffset(8)]
-        internal global::__std_type_info_data.Internal _Data;
+        internal global::__std_type_info_data.__Internal _Data;
     }
 }
 
@@ -6482,39 +6562,39 @@ namespace std
     public unsafe partial class bad_cast
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class bad_typeid
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 
     public unsafe partial class __non_rtti_object
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
         }
     }
 }
@@ -6522,7 +6602,7 @@ namespace std
 public unsafe partial class lconv
 {
     [StructLayout(LayoutKind.Explicit, Size = 152)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public global::System.IntPtr decimal_point;
@@ -6607,7 +6687,7 @@ public unsafe partial class lconv
 public unsafe partial class _Collvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 16)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6620,7 +6700,7 @@ public unsafe partial class _Collvec
 public unsafe partial class _Ctypevec
 {
     [StructLayout(LayoutKind.Explicit, Size = 32)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6639,7 +6719,7 @@ public unsafe partial class _Ctypevec
 public unsafe partial class _Cvtvec
 {
     [StructLayout(LayoutKind.Explicit, Size = 44)]
-    public partial struct Internal
+    public partial struct __Internal
     {
         [FieldOffset(0)]
         public uint _Page;
@@ -6753,7 +6833,7 @@ namespace std
     public unsafe partial class _Timevec
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr _Timeptr;
@@ -6763,28 +6843,28 @@ namespace std
     public unsafe partial class _Locinfo
     {
         [StructLayout(LayoutKind.Explicit, Size = 104)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
-            internal global::std._Lockit.Internal _Lock;
+            internal global::std._Lockit.__Internal _Lock;
 
             [FieldOffset(8)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Days;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Days;
 
             [FieldOffset(24)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Months;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Months;
 
             [FieldOffset(40)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Days;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__W _W_Days;
 
             [FieldOffset(56)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Months;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__W _W_Months;
 
             [FieldOffset(72)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Oldlocname;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Oldlocname;
 
             [FieldOffset(88)]
-            internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Newlocname;
+            internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Newlocname;
         }
     }
 }
@@ -6794,7 +6874,7 @@ namespace std
     public unsafe abstract partial class _Facet_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 8)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6814,7 +6894,7 @@ namespace std
     namespace _Locbase
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -6822,7 +6902,7 @@ namespace std
     namespace ctype
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6831,14 +6911,14 @@ namespace std
             public uint _Myrefs;
 
             [FieldOffset(16)]
-            internal global::_Ctypevec.Internal _Ctype;
+            internal global::_Ctypevec.__Internal _Ctype;
         }
     }
 
     namespace codecvt
     {
         [StructLayout(LayoutKind.Explicit, Size = 24)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6857,7 +6937,7 @@ namespace std
     namespace ctype_byname
     {
         [StructLayout(LayoutKind.Explicit, Size = 48)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6866,14 +6946,14 @@ namespace std
             public uint _Myrefs;
 
             [FieldOffset(16)]
-            internal global::_Ctypevec.Internal _Ctype;
+            internal global::_Ctypevec.__Internal _Ctype;
         }
     }
 
     public unsafe partial class _Crt_new_delete
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
@@ -6881,7 +6961,7 @@ namespace std
     public unsafe partial class locale
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(8)]
             public global::System.IntPtr _Ptr;
@@ -6890,7 +6970,7 @@ namespace std
         public unsafe partial class _Locimp
         {
             [StructLayout(LayoutKind.Explicit, Size = 56)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr__Facet_base;
@@ -6911,14 +6991,14 @@ namespace std
                 public byte _Xparent;
 
                 [FieldOffset(40)]
-                internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Name;
+                internal global::std._Yarn.__Internalc__N_std_S__Yarn__C _Name;
             }
         }
 
         public unsafe partial class facet
         {
             [StructLayout(LayoutKind.Explicit, Size = 16)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr__Facet_base;
@@ -6931,7 +7011,7 @@ namespace std
         public unsafe partial class id
         {
             [StructLayout(LayoutKind.Explicit, Size = 8)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public ulong _Id;
@@ -6942,7 +7022,7 @@ namespace std
     public unsafe partial class codecvt_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -6963,7 +7043,7 @@ namespace std
     public unsafe partial class ctype_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr__Facet_base;
@@ -7082,7 +7162,7 @@ namespace std
     namespace is_error_code_enum
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7090,7 +7170,7 @@ namespace std
     namespace is_error_condition_enum
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7098,7 +7178,7 @@ namespace std
     public unsafe abstract partial class error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7119,7 +7199,7 @@ namespace std
     public unsafe partial class error_code
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Myval;
@@ -7132,7 +7212,7 @@ namespace std
     public unsafe partial class error_condition
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public int _Myval;
@@ -7145,39 +7225,39 @@ namespace std
     public unsafe partial class _System_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 40)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
 
             [FieldOffset(24)]
-            internal global::std.error_code.Internal _Mycode;
+            internal global::std.error_code.__Internal _Mycode;
         }
     }
 
     public unsafe partial class system_error
     {
         [StructLayout(LayoutKind.Explicit, Size = 40)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_exception;
 
             [FieldOffset(8)]
-            internal global::__std_exception_data.Internal _Data;
+            internal global::__std_exception_data.__Internal _Data;
 
             [FieldOffset(24)]
-            internal global::std.error_code.Internal _Mycode;
+            internal global::std.error_code.__Internal _Mycode;
         }
     }
 
     public unsafe partial class _Generic_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7190,7 +7270,7 @@ namespace std
     public unsafe partial class _Iostream_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7203,7 +7283,7 @@ namespace std
     public unsafe partial class _System_error_category
     {
         [StructLayout(LayoutKind.Explicit, Size = 16)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_error_category;
@@ -7219,7 +7299,7 @@ namespace std
     namespace _Iosb
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public unsafe partial struct Internal
+        public unsafe partial struct __Internal
         {
         }
     }
@@ -7227,7 +7307,7 @@ namespace std
     public unsafe partial class ios_base
     {
         [StructLayout(LayoutKind.Explicit, Size = 72)]
-        public partial struct Internal
+        public partial struct __Internal
         {
             [FieldOffset(0)]
             public global::System.IntPtr vfptr_ios_base;
@@ -7270,7 +7350,7 @@ namespace std
         public unsafe partial class _Iosarray
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _Next;
@@ -7289,7 +7369,7 @@ namespace std
         public unsafe partial class _Fnarray
         {
             [StructLayout(LayoutKind.Explicit, Size = 24)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr _Next;
@@ -7305,23 +7385,23 @@ namespace std
         public unsafe partial class failure
         {
             [StructLayout(LayoutKind.Explicit, Size = 40)]
-            public partial struct Internal
+            public partial struct __Internal
             {
                 [FieldOffset(0)]
                 public global::System.IntPtr vfptr_exception;
 
                 [FieldOffset(8)]
-                internal global::__std_exception_data.Internal _Data;
+                internal global::__std_exception_data.__Internal _Data;
 
                 [FieldOffset(24)]
-                internal global::std.error_code.Internal _Mycode;
+                internal global::std.error_code.__Internal _Mycode;
             }
         }
 
         public unsafe partial class Init
         {
             [StructLayout(LayoutKind.Explicit, Size = 0)]
-            public partial struct Internal
+            public partial struct __Internal
             {
             }
         }
@@ -7360,7 +7440,7 @@ namespace std
     public unsafe partial class _Rand_urng_from_func
     {
         [StructLayout(LayoutKind.Explicit, Size = 0)]
-        public partial struct Internal
+        public partial struct __Internal
         {
         }
     }
diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp
index f4cea0cc..a5a89e54 100644
--- a/src/CppParser/Parser.cpp
+++ b/src/CppParser/Parser.cpp
@@ -1615,6 +1615,18 @@ Method* Parser::WalkMethodCXX(const clang::CXXMethodDecl* MD)
     Method->IsVirtual = MD->isVirtual();
     Method->IsConst = MD->isConst();
     Method->IsOverride = MD->size_overridden_methods() > 0;
+    switch (MD->getRefQualifier())
+    {
+    case clang::RefQualifierKind::RQ_None:
+        Method->RefQualifier = RefQualifierKind::None;
+        break;
+    case clang::RefQualifierKind::RQ_LValue:
+        Method->RefQualifier = RefQualifierKind::LValue;
+        break;
+    case clang::RefQualifierKind::RQ_RValue:
+        Method->RefQualifier = RefQualifierKind::RValue;
+        break;
+    }
 
     WalkFunction(MD, Method);
 
diff --git a/src/Parser/ASTConverter.cs b/src/Parser/ASTConverter.cs
index 8ff91505..549025ae 100644
--- a/src/Parser/ASTConverter.cs
+++ b/src/Parser/ASTConverter.cs
@@ -1164,6 +1164,19 @@ namespace CppSharp
             _method.IsExplicit = decl.IsExplicit;
             _method.IsOverride = decl.IsOverride;
 
+            switch (decl.RefQualifier)
+            {
+                case RefQualifierKind.None:
+                    _method.RefQualifier = AST.RefQualifier.None;
+                    break;
+                case RefQualifierKind.LValue:
+                    _method.RefQualifier = AST.RefQualifier.LValue;
+                    break;
+                case RefQualifierKind.RValue:
+                    _method.RefQualifier = AST.RefQualifier.RValue;
+                    break;
+            }
+
             _method.Kind = VisitCXXMethodKind(decl.MethodKind);
 
             _method.IsDefaultConstructor = decl.IsDefaultConstructor;