diff --git a/src/array.hpp b/src/array.hpp
index 3c1a079dc1a335f86c5c19ea1828388c990d2e27..17ed0729479cc9a1e7832cd3dd6d16583f868f0c 100644
--- a/src/array.hpp
+++ b/src/array.hpp
@@ -469,19 +469,17 @@ public:
  *
  * \brief Array that is also the storage for the data.
  */
-template <typename Scalar, typename Shape, size_t Alignment=0, bool BoundsCheck=true, typename StorageType_=Scalar>
+template <typename Scalar, typename Shape, size_t Alignment=0, bool BoundsCheck=true, typename Storage_=std::vector<Scalar> >
 class StoredArray : public ArrayView<Scalar, Shape, Alignment, BoundsCheck>
 {
 public:
-    typedef StorageType_ StorageType;
+    typedef Storage_ Storage;
 
 private:
-    static_assert(sizeof(Scalar) % sizeof(StorageType) == 0, "incommensurate sizes");
-    static constexpr size_t units = sizeof(Scalar) / sizeof(StorageType);
+    static_assert(sizeof(Scalar) % sizeof(typename Storage::value_type) == 0, "incommensurate sizes");
+    static constexpr size_t units = sizeof(Scalar) / sizeof(typename Storage::value_type);
 
     typedef ArrayView<Scalar, Shape, Alignment, BoundsCheck> BaseType;
-    typedef std::vector<StorageType> Storage;
-
     Storage storage_;
 
 public:
@@ -520,7 +518,7 @@ public:
 };
 
 template <typename Scalar, typename Shape, size_t Alignment=0, bool BoundsCheck=true>
-using StoredComplexArray = StoredArray<Scalar, Shape, Alignment, BoundsCheck, typename Scalar::value_type>;
+using StoredComplexArray = StoredArray<Scalar, Shape, Alignment, BoundsCheck, std::vector<typename Scalar::value_type> >;
 
 } // namespace array
 
diff --git a/src/pythonutil.hpp b/src/pythonutil.hpp
index 27793aa9a5b8dc6558cdb73174b61112ebdc2a92..53bfd248c144e2c172bbf499d4e94205b3d4026d 100644
--- a/src/pythonutil.hpp
+++ b/src/pythonutil.hpp
@@ -124,10 +124,10 @@ namespace array { namespace python PY_VISIBILITY {
                 }
         };
 
-        template <typename Scalar, typename Shape, size_t Alignment=0, bool BoundsCheck=true, typename StorageType=Scalar>
+        template <typename Scalar, typename Shape, size_t Alignment=0, bool BoundsCheck=true, typename Storage=std::vector<Scalar> >
         struct array_caster {
         private:
-            typedef StoredArray<Scalar, Shape, Alignment, BoundsCheck, StorageType> ArrayType;
+            typedef StoredArray<Scalar, Shape, Alignment, BoundsCheck, Storage> ArrayType;
             static constexpr auto array_type_name = pybind11::detail::const_name<ArrayType>();
 
         public:
@@ -137,8 +137,6 @@ namespace array { namespace python PY_VISIBILITY {
                                          pybind11::return_value_policy /* policy */,
                                          pybind11::handle /* parent */)
                 {
-                    typedef std::vector<StorageType> Storage;
-
                     ArrayType moved = std::move(src);
                     Storage *store = new Storage(std::move(moved.storage()));
 
@@ -165,7 +163,7 @@ namespace array { namespace python PY_VISIBILITY {
         using is_py_array_view = std::is_base_of<PyArrayView<typename T::Scalar, typename T::Shape, T::Alignment, T::BoundsCheck>, T>;
 
         template <typename T>
-        using is_stored_array = std::is_base_of<StoredArray<typename T::Scalar, typename T::Shape, T::Alignment, T::BoundsCheck, typename T::StorageType>, T>;
+        using is_stored_array = std::is_base_of<StoredArray<typename T::Scalar, typename T::Shape, T::Alignment, T::BoundsCheck, typename T::Storage>, T>;
     }
 } } // namespace array::python
 
@@ -178,7 +176,7 @@ namespace pybind11 { namespace detail {
 
     template <typename Type>
     struct type_caster<Type, enable_if_t<array::python::detail::is_stored_array<Type>::value> >
-        : public array::python::detail::array_caster<typename Type::Scalar, typename Type::Shape, Type::Alignment, Type::BoundsCheck, typename Type::StorageType>
+        : public array::python::detail::array_caster<typename Type::Scalar, typename Type::Shape, Type::Alignment, Type::BoundsCheck, typename Type::Storage>
     {
     };
 } } // namespace pybind11::detail