Expose public vector module
diff --git a/src/cxx_vector.rs b/src/cxx_vector.rs
index cf15e73..df29616 100644
--- a/src/cxx_vector.rs
+++ b/src/cxx_vector.rs
@@ -1,3 +1,6 @@
+//! Less used details of `CxxVector` are exposed in this module. `CxxVector`
+//! itself is exposed at the crate root.
+
 use crate::extern_type::ExternType;
 use crate::kind::Trivial;
 use crate::string::CxxString;
@@ -8,6 +11,9 @@
 use core::ptr;
 use core::slice;
 
+#[doc(inline)]
+pub use crate::Vector;
+
 /// Binding to C++ `std::vector<T, std::allocator<T>>`.
 ///
 /// # Invariants
@@ -94,6 +100,9 @@
     }
 }
 
+/// Iterator over elements of a `CxxVector` by shared reference.
+///
+/// The iterator element type is `&'a T`.
 pub struct Iter<'a, T> {
     v: &'a CxxVector<T>,
     index: usize,
@@ -133,7 +142,7 @@
     }
 }
 
-pub struct TypeName<T> {
+pub(crate) struct TypeName<T> {
     element: PhantomData<T>,
 }