diff --git a/src/tg/types/mat.hh b/src/tg/types/mat.hh
index b5df679b0d9fd500f54b8678e4788ce89b4c523b..28d63f6238759de7898a01303e93f29c5f474d21 100644
--- a/src/tg/types/mat.hh
+++ b/src/tg/types/mat.hh
@@ -111,8 +111,6 @@ struct mat
     using col_t = vec<R, ScalarT>;
     using transpose_t = mat<C, R, ScalarT>;
 
-    static constexpr shape<2> shape = make_shape(C, R);
-
     col_t m[R];
 
     constexpr col_t& operator[](int i) { return m[i]; }
diff --git a/src/tg/types/pos.hh b/src/tg/types/pos.hh
index 902f0432d3e82961e8ee19b9fae2fa4a34dcef4d..0013ab2fdef1c982966b984f19ac36edb3739348 100644
--- a/src/tg/types/pos.hh
+++ b/src/tg/types/pos.hh
@@ -3,7 +3,6 @@
 #include "../detail/macros.hh"
 #include "../detail/utility.hh"
 #include "scalar.hh"
-#include "shape.hh"
 
 namespace tg
 {
@@ -49,7 +48,6 @@ template <class ScalarT>
 struct pos<1, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(1);
 
     static const pos zero;
 
@@ -77,7 +75,6 @@ template <class ScalarT>
 struct pos<2, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(2);
 
     scalar_t x = static_cast<scalar_t>(0);
     scalar_t y = static_cast<scalar_t>(0);
@@ -111,7 +108,6 @@ template <class ScalarT>
 struct pos<3, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(3);
 
     scalar_t x = static_cast<scalar_t>(0);
     scalar_t y = static_cast<scalar_t>(0);
@@ -150,7 +146,6 @@ template <class ScalarT>
 struct pos<4, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(4);
 
     static const pos zero;
 
diff --git a/src/tg/types/size.hh b/src/tg/types/size.hh
index 73660808d872e75ad520ed332720708e0f33330c..d7c21aff8f24298169f88282ac5db1d17d298dec 100644
--- a/src/tg/types/size.hh
+++ b/src/tg/types/size.hh
@@ -3,7 +3,6 @@
 #include "../detail/macros.hh"
 #include "../detail/utility.hh"
 #include "scalar.hh"
-#include "shape.hh"
 #include "vec.hh"
 
 namespace tg
@@ -50,7 +49,6 @@ template <class ScalarT>
 struct size<1, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(1);
 
     scalar_t width = static_cast<scalar_t>(0);
 
@@ -78,7 +76,6 @@ template <class ScalarT>
 struct size<2, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(2);
 
     scalar_t width = static_cast<scalar_t>(0);
     scalar_t height = static_cast<scalar_t>(0);
@@ -108,7 +105,6 @@ template <class ScalarT>
 struct size<3, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(3);
 
     scalar_t width = static_cast<scalar_t>(0);
     scalar_t height = static_cast<scalar_t>(0);
@@ -139,7 +135,6 @@ template <class ScalarT>
 struct size<4, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(4);
 
     scalar_t width = static_cast<scalar_t>(0);
     scalar_t height = static_cast<scalar_t>(0);
diff --git a/src/tg/types/vec.hh b/src/tg/types/vec.hh
index a9e7a07c2b049e4e58139b79ed783a25fbf0ad45..a8d4ecba948b3881bb8b420ff60e25b9efbd6f32 100644
--- a/src/tg/types/vec.hh
+++ b/src/tg/types/vec.hh
@@ -3,7 +3,6 @@
 #include "../detail/macros.hh"
 #include "../detail/utility.hh"
 #include "scalar.hh"
-#include "shape.hh"
 
 /**
  * TODO:
@@ -124,7 +123,6 @@ template <class ScalarT>
 struct vec<1, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(1);
 
     static const vec zero;
     static const vec one;
@@ -158,7 +156,6 @@ template <class ScalarT>
 struct vec<2, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(2);
 
     scalar_t x = static_cast<scalar_t>(0);
     scalar_t y = static_cast<scalar_t>(0);
@@ -201,7 +198,6 @@ template <class ScalarT>
 struct vec<3, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(3);
 
     scalar_t x = static_cast<scalar_t>(0);
     scalar_t y = static_cast<scalar_t>(0);
@@ -252,7 +248,6 @@ template <class ScalarT>
 struct vec<4, ScalarT>
 {
     using scalar_t = ScalarT;
-    static constexpr shape<1> shape = make_shape(4);
 
     static const vec zero;
     static const vec one;