diff --git a/src/TNL/Containers/Array.h b/src/TNL/Containers/Array.h
index 7f4d898e9a4fe4e620331090a57baa3240804bb0..9e304a8311f3982feb63926df08f34252b18dd5a 100644
--- a/src/TNL/Containers/Array.h
+++ b/src/TNL/Containers/Array.h
@@ -681,12 +681,6 @@ File& operator>>( File&& file, Array< Value, Device, Index, Allocator >& array )
 
 } // namespace Containers
 
-template< typename Value, typename Device, typename Index >
-struct ViewTypeGetter< Containers::Array< Value, Device, Index > >
-{
-   using Type = Containers::ArrayView< Value, Device, Index >;
-};
-
 template< typename Value_, typename Device, typename Index >
 struct IsStatic< Containers::Array< Value_, Device, Index > >
 {
diff --git a/src/TNL/Containers/Vector.h b/src/TNL/Containers/Vector.h
index e25098a58b26c2e6d6abaa735c4e43ef0bca8739..e199d8e7bfeb004385ea60b8185f6f27b2729dd1 100644
--- a/src/TNL/Containers/Vector.h
+++ b/src/TNL/Containers/Vector.h
@@ -258,12 +258,6 @@ public:
 
 } // namespace Containers
 
-template< typename Real, typename Device, typename Index >
-struct ViewTypeGetter< Containers::Vector< Real, Device, Index > >
-{
-   using Type = Containers::VectorView< Real, Device, Index >;
-};
-
 template< typename Real, typename Device, typename Index >
 struct IsStatic< Containers::Vector< Real, Device, Index > >
 {
diff --git a/src/TNL/Solvers/ODE/Euler.h b/src/TNL/Solvers/ODE/Euler.h
index 6715147ce23f7dcd9dac984afc0c8414bedcda83..2ba128073ec65aba4f8e1bc5c7f6cad661f67303 100644
--- a/src/TNL/Solvers/ODE/Euler.h
+++ b/src/TNL/Solvers/ODE/Euler.h
@@ -32,7 +32,6 @@ class Euler : public ExplicitSolver< Problem, SolverMonitor >
       using RealType = typename ProblemType::RealType;
       using DeviceType = typename ProblemType::DeviceType;
       using IndexType  = typename ProblemType::IndexType;
-      using DofVectorView = typename ViewTypeGetter< DofVectorType >::Type;
       using DofVectorPointer = Pointers::SharedPointer<  DofVectorType, DeviceType >;
       using SolverMonitorType = SolverMonitor;
 
diff --git a/src/TNL/Solvers/ODE/Euler.hpp b/src/TNL/Solvers/ODE/Euler.hpp
index b6a5b218351d8c24c5f9acca13ca1c20833104ee..ccc98daa7ec9eacc4409e6de0688c62e89277cdc 100644
--- a/src/TNL/Solvers/ODE/Euler.hpp
+++ b/src/TNL/Solvers/ODE/Euler.hpp
@@ -79,8 +79,8 @@ bool Euler< Problem, SolverMonitor > :: solve( DofVectorPointer& _u )
     */
    //timer.start();
    _k1->setLike( *_u );
-   DofVectorView k1 = _k1->getView();
-   DofVectorView u = _u->getView();
+   auto k1 = _k1->getView();
+   auto u = _u->getView();
    k1 = 0.0;
 
 
diff --git a/src/TNL/TypeTraits.h b/src/TNL/TypeTraits.h
index c251dca0180e5bddd0e083108f13b50e4ceb8383..134ebc4cac4f9f21f600dd2f54ef62f952b25e08 100644
--- a/src/TNL/TypeTraits.h
+++ b/src/TNL/TypeTraits.h
@@ -9,17 +9,11 @@
 /* See Copyright Notice in tnl/Copyright */
 
 #pragma once
+
 #include <type_traits>
 
 namespace TNL {
 
-// TODO: remove - not used anywhere
-template< typename T >
-struct ViewTypeGetter
-{
-   using Type = T;
-};
-
 template< typename T >
 struct IsStatic
 {