Rename Type::Vector to CxxVector
diff --git a/syntax/check.rs b/syntax/check.rs
index 387f9a6..cbfa91b 100644
--- a/syntax/check.rs
+++ b/syntax/check.rs
@@ -31,7 +31,7 @@
             Type::RustBox(ptr) => check_type_box(cx, ptr),
             Type::RustVec(ptr) => check_type_vec(cx, ptr),
             Type::UniquePtr(ptr) => check_type_unique_ptr(cx, ptr),
-            Type::Vector(ptr) => check_type_vector(cx, ptr),
+            Type::CxxVector(ptr) => check_type_vector(cx, ptr),
             Type::Ref(ty) => check_type_ref(cx, ty),
             Type::Slice(ty) => check_type_slice(cx, ty),
             _ => {}
@@ -114,7 +114,7 @@
             None | Some(CxxString) => return,
             _ => {}
         }
-    } else if let Type::Vector(_) = &ptr.inner {
+    } else if let Type::CxxVector(_) = &ptr.inner {
         return;
     }
 
@@ -351,7 +351,7 @@
         Type::UniquePtr(_) => "unique_ptr".to_owned(),
         Type::Ref(_) => "reference".to_owned(),
         Type::Str(_) => "&str".to_owned(),
-        Type::Vector(_) => "vector".to_owned(),
+        Type::CxxVector(_) => "vector".to_owned(),
         Type::Slice(_) => "slice".to_owned(),
         Type::SliceRefU8(_) => "&[u8]".to_owned(),
         Type::Fn(_) => "function pointer".to_owned(),
diff --git a/syntax/impls.rs b/syntax/impls.rs
index 8e94f06..c34e3e5 100644
--- a/syntax/impls.rs
+++ b/syntax/impls.rs
@@ -27,7 +27,7 @@
             Type::Ref(t) => t.hash(state),
             Type::Str(t) => t.hash(state),
             Type::RustVec(t) => t.hash(state),
-            Type::Vector(t) => t.hash(state),
+            Type::CxxVector(t) => t.hash(state),
             Type::Fn(t) => t.hash(state),
             Type::Slice(t) => t.hash(state),
             Type::SliceRefU8(t) => t.hash(state),
@@ -47,7 +47,7 @@
             (Type::Ref(lhs), Type::Ref(rhs)) => lhs == rhs,
             (Type::Str(lhs), Type::Str(rhs)) => lhs == rhs,
             (Type::RustVec(lhs), Type::RustVec(rhs)) => lhs == rhs,
-            (Type::Vector(lhs), Type::Vector(rhs)) => lhs == rhs,
+            (Type::CxxVector(lhs), Type::CxxVector(rhs)) => lhs == rhs,
             (Type::Fn(lhs), Type::Fn(rhs)) => lhs == rhs,
             (Type::Slice(lhs), Type::Slice(rhs)) => lhs == rhs,
             (Type::SliceRefU8(lhs), Type::SliceRefU8(rhs)) => lhs == rhs,
diff --git a/syntax/mangled.rs b/syntax/mangled.rs
index 56e8b73..2a2fa4c 100644
--- a/syntax/mangled.rs
+++ b/syntax/mangled.rs
@@ -23,7 +23,7 @@
             Type::RustBox(ptr) => format!("rust_box${}", ptr.inner.to_mangled(namespace)),
             Type::RustVec(ptr) => format!("rust_vec${}", ptr.inner.to_mangled(namespace)),
             Type::UniquePtr(ptr) => format!("std$unique_ptr${}", ptr.inner.to_mangled(namespace)),
-            Type::Vector(ptr) => format!("std$vector${}", ptr.inner.to_mangled(namespace)),
+            Type::CxxVector(ptr) => format!("std$vector${}", ptr.inner.to_mangled(namespace)),
             _ => unimplemented!(),
         }
     }
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 4e0b908..c992690 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -92,7 +92,7 @@
     UniquePtr(Box<Ty1>),
     Ref(Box<Ref>),
     Str(Box<Ref>),
-    Vector(Box<Ty1>),
+    CxxVector(Box<Ty1>),
     Fn(Box<Signature>),
     Void(Span),
     Slice(Box<Slice>),
diff --git a/syntax/parse.rs b/syntax/parse.rs
index f5c598d..f32894b 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -303,7 +303,7 @@
                 } else if ident == "Vector" && generic.args.len() == 1 {
                     if let GenericArgument::Type(arg) = &generic.args[0] {
                         let inner = parse_type(arg)?;
-                        return Ok(Type::Vector(Box::new(Ty1 {
+                        return Ok(Type::CxxVector(Box::new(Ty1 {
                             name: ident,
                             langle: generic.lt_token,
                             inner,
diff --git a/syntax/tokens.rs b/syntax/tokens.rs
index 3d67a0a..7423f8e 100644
--- a/syntax/tokens.rs
+++ b/syntax/tokens.rs
@@ -14,7 +14,7 @@
                 }
                 ident.to_tokens(tokens);
             }
-            Type::RustBox(ty) | Type::UniquePtr(ty) | Type::Vector(ty) | Type::RustVec(ty) => {
+            Type::RustBox(ty) | Type::UniquePtr(ty) | Type::CxxVector(ty) | Type::RustVec(ty) => {
                 ty.to_tokens(tokens)
             }
             Type::Ref(r) | Type::Str(r) | Type::SliceRefU8(r) => r.to_tokens(tokens),
diff --git a/syntax/typename.rs b/syntax/typename.rs
index 7ad1be2..016749a 100644
--- a/syntax/typename.rs
+++ b/syntax/typename.rs
@@ -29,7 +29,7 @@
             Type::UniquePtr(ptr) => {
                 format!("::std::unique_ptr<{}>", ptr.inner.to_typename(namespace))
             }
-            Type::Vector(ptr) => format!("::std::vector<{}>", ptr.inner.to_typename(namespace)),
+            Type::CxxVector(ptr) => format!("::std::vector<{}>", ptr.inner.to_typename(namespace)),
             _ => unimplemented!(),
         }
     }
diff --git a/syntax/types.rs b/syntax/types.rs
index 7bce154..2ef1e1e 100644
--- a/syntax/types.rs
+++ b/syntax/types.rs
@@ -24,9 +24,10 @@
             all.insert(ty);
             match ty {
                 Type::Ident(_) | Type::Str(_) | Type::Void(_) | Type::SliceRefU8(_) => {}
-                Type::RustBox(ty) | Type::UniquePtr(ty) | Type::Vector(ty) | Type::RustVec(ty) => {
-                    visit(all, &ty.inner)
-                }
+                Type::RustBox(ty)
+                | Type::UniquePtr(ty)
+                | Type::CxxVector(ty)
+                | Type::RustVec(ty) => visit(all, &ty.inner),
                 Type::Ref(r) => visit(all, &r.inner),
                 Type::Slice(s) => visit(all, &s.inner),
                 Type::Fn(f) => {