diff --git a/src/language/ast/ASTNodeAffectationExpressionBuilder.cpp b/src/language/ast/ASTNodeAffectationExpressionBuilder.cpp
index cc26d368ee6cb0d6a3f105604ae6484628d69890..32117039587e2c53907ea030ac73a7e10e544255 100644
--- a/src/language/ast/ASTNodeAffectationExpressionBuilder.cpp
+++ b/src/language/ast/ASTNodeAffectationExpressionBuilder.cpp
@@ -37,12 +37,6 @@ ASTNodeAffectationExpressionBuilder::ASTNodeAffectationExpressionBuilder(ASTNode
     ASTNode& lhs_node = *node.children[0];
     ASTNode& rhs_node = *node.children[1];
 
-    if (rhs_node.m_data_type == ASTNodeDataType::list_t) {
-      if ((lhs_node.m_data_type == ASTNodeDataType::vector_t) or (lhs_node.m_data_type == ASTNodeDataType::matrix_t)) {
-        ASTNodeNaturalConversionChecker(rhs_node, lhs_node.m_data_type);
-      }
-    }
-
     node.m_node_processor = optional_processor_builder.value()->getNodeProcessor(lhs_node, rhs_node);
   } else {
     std::ostringstream error_message;
diff --git a/src/language/ast/ASTNodeBuiltinFunctionExpressionBuilder.cpp b/src/language/ast/ASTNodeBuiltinFunctionExpressionBuilder.cpp
index cdd9c43d977c6718dc5d900dbe0b96a15de54f47..e2b4a947f1f93fff1060e6fab3f578265b37526c 100644
--- a/src/language/ast/ASTNodeBuiltinFunctionExpressionBuilder.cpp
+++ b/src/language/ast/ASTNodeBuiltinFunctionExpressionBuilder.cpp
@@ -85,16 +85,6 @@ ASTNodeBuiltinFunctionExpressionBuilder::_getArgumentConverter(const ASTNodeData
           // LCOV_EXCL_STOP
         }
       }
-      case ASTNodeDataType::list_t: {
-        if (argument_node_sub_data_type.m_parent_node.children.size() == parameter_v.dimension()) {
-          return std::make_unique<FunctionTinyVectorArgumentConverter<ParameterT, ParameterT>>(argument_number);
-        } else {
-          // LCOV_EXCL_START
-          throw ParseError("unexpected error: invalid argument dimension",
-                           std::vector{argument_node_sub_data_type.m_parent_node.begin()});
-          // LCOV_EXCL_STOP
-        }
-      }
       case ASTNodeDataType::int_t: {
         if (argument_node_sub_data_type.m_parent_node.is_type<language::integer>()) {
           if (std::stoi(argument_node_sub_data_type.m_parent_node.string()) == 0) {
@@ -162,17 +152,6 @@ ASTNodeBuiltinFunctionExpressionBuilder::_getArgumentConverter(const ASTNodeData
           // LCOV_EXCL_STOP
         }
       }
-      case ASTNodeDataType::list_t: {
-        if (argument_node_sub_data_type.m_parent_node.children.size() ==
-            (parameter_v.numberOfRows() * parameter_v.numberOfColumns())) {
-          return std::make_unique<FunctionTinyMatrixArgumentConverter<ParameterT, ParameterT>>(argument_number);
-        } else {
-          // LCOV_EXCL_START
-          throw ParseError("unexpected error: invalid argument dimension",
-                           std::vector{argument_node_sub_data_type.m_parent_node.begin()});
-          // LCOV_EXCL_STOP
-        }
-      }
       case ASTNodeDataType::int_t: {
         if (argument_node_sub_data_type.m_parent_node.is_type<language::integer>()) {
           if (std::stoi(argument_node_sub_data_type.m_parent_node.string()) == 0) {
diff --git a/src/language/ast/ASTNodeExpressionBuilder.cpp b/src/language/ast/ASTNodeExpressionBuilder.cpp
index 72b385495582d381d7c0f395d0bc21f7f397c3a0..4e61d118ead28e0a20345cc264a8bf3edc566d47 100644
--- a/src/language/ast/ASTNodeExpressionBuilder.cpp
+++ b/src/language/ast/ASTNodeExpressionBuilder.cpp
@@ -91,9 +91,11 @@ ASTNodeExpressionBuilder::_buildExpression(ASTNode& n)
       n.m_node_processor = std::make_unique<TinyVectorExpressionProcessor<3>>(n);
       break;
     }
+      // LCOV_EXCL_START
     default: {
       throw UnexpectedError("invalid vector dimension");
     }
+      // LCOV_EXCL_STOP
     }
   } else if (n.is_type<language::matrix_expression>()) {
     Assert(n.m_data_type == ASTNodeDataType::matrix_t);
@@ -112,9 +114,11 @@ ASTNodeExpressionBuilder::_buildExpression(ASTNode& n)
       n.m_node_processor = std::make_unique<TinyMatrixExpressionProcessor<3, 3>>(n);
       break;
     }
+      // LCOV_EXCL_START
     default: {
       throw UnexpectedError("invalid matrix dimension");
     }
+      // LCOV_EXCL_STOP
     }
 
   } else if ((n.is_type<language::row_expression>())) {
diff --git a/src/language/ast/ASTNodeFunctionExpressionBuilder.cpp b/src/language/ast/ASTNodeFunctionExpressionBuilder.cpp
index a836d24cde04b68aa547005b93a77a4daa41e4db..a381123884250e9cd574495d7c3add369863aa59 100644
--- a/src/language/ast/ASTNodeFunctionExpressionBuilder.cpp
+++ b/src/language/ast/ASTNodeFunctionExpressionBuilder.cpp
@@ -78,16 +78,6 @@ ASTNodeFunctionExpressionBuilder::_getArgumentConverter(SymbolType& parameter_sy
         // LCOV_EXCL_STOP
       }
     }
-    case ASTNodeDataType::list_t: {
-      if (node_sub_data_type.m_parent_node.children.size() == parameter_v.dimension()) {
-        return std::make_unique<FunctionTinyVectorArgumentConverter<ParameterT, ParameterT>>(parameter_id);
-      } else {
-        // LCOV_EXCL_START
-        throw ParseError("unexpected error: invalid argument dimension",
-                         std::vector{node_sub_data_type.m_parent_node.begin()});
-        // LCOV_EXCL_STOP
-      }
-    }
     case ASTNodeDataType::int_t: {
       if (node_sub_data_type.m_parent_node.is_type<language::integer>()) {
         if (std::stoi(node_sub_data_type.m_parent_node.string()) == 0) {
@@ -120,16 +110,6 @@ ASTNodeFunctionExpressionBuilder::_getArgumentConverter(SymbolType& parameter_sy
         // LCOV_EXCL_STOP
       }
     }
-    case ASTNodeDataType::list_t: {
-      if (node_sub_data_type.m_parent_node.children.size() == parameter_v.dimension()) {
-        return std::make_unique<FunctionTinyMatrixArgumentConverter<ParameterT, ParameterT>>(parameter_id);
-      } else {
-        // LCOV_EXCL_START
-        throw ParseError("unexpected error: invalid argument dimension",
-                         std::vector{node_sub_data_type.m_parent_node.begin()});
-        // LCOV_EXCL_STOP
-      }
-    }
     case ASTNodeDataType::int_t: {
       if (node_sub_data_type.m_parent_node.is_type<language::integer>()) {
         if (std::stoi(node_sub_data_type.m_parent_node.string()) == 0) {
@@ -325,17 +305,6 @@ ASTNodeFunctionExpressionBuilder::_getFunctionProcessor(const ASTNodeDataType& r
         // LCOV_EXCL_STOP
       }
     }
-    case ASTNodeDataType::list_t: {
-      if (function_component_expression.children.size() == return_v.dimension()) {
-        return std::make_unique<FunctionExpressionProcessor<ReturnT, AggregateDataVariant>>(
-          function_component_expression);
-      } else {
-        // LCOV_EXCL_START
-        throw ParseError("unexpected error: invalid dimension for returned vector",
-                         std::vector{function_component_expression.begin()});
-        // LCOV_EXCL_STOP
-      }
-    }
     case ASTNodeDataType::int_t: {
       if (function_component_expression.is_type<language::integer>()) {
         if (std::stoi(function_component_expression.string()) == 0) {
@@ -370,17 +339,6 @@ ASTNodeFunctionExpressionBuilder::_getFunctionProcessor(const ASTNodeDataType& r
         // LCOV_EXCL_STOP
       }
     }
-    case ASTNodeDataType::list_t: {
-      if (function_component_expression.children.size() == return_v.dimension()) {
-        return std::make_unique<FunctionExpressionProcessor<ReturnT, AggregateDataVariant>>(
-          function_component_expression);
-      } else {
-        // LCOV_EXCL_START
-        throw ParseError("unexpected error: invalid dimension for returned vector",
-                         std::vector{function_component_expression.begin()});
-        // LCOV_EXCL_STOP
-      }
-    }
     case ASTNodeDataType::int_t: {
       if (function_component_expression.is_type<language::integer>()) {
         if (std::stoi(function_component_expression.string()) == 0) {
diff --git a/src/language/ast/ASTNodeListAffectationExpressionBuilder.cpp b/src/language/ast/ASTNodeListAffectationExpressionBuilder.cpp
index 76b34ae5374adf13cfa82a513ca3e2fc13401400..6697967d2ab54950f7781ddfe41fa1c2197a28c8 100644
--- a/src/language/ast/ASTNodeListAffectationExpressionBuilder.cpp
+++ b/src/language/ast/ASTNodeListAffectationExpressionBuilder.cpp
@@ -58,9 +58,6 @@ ASTNodeListAffectationExpressionBuilder::_buildAffectationProcessor(
       if ((node_sub_data_type.m_data_type == ASTNodeDataType::vector_t) and
           (node_sub_data_type.m_data_type.dimension() == value.dimension())) {
         list_affectation_processor->template add<ValueT, ValueT>(value_node);
-      } else if ((node_sub_data_type.m_data_type == ASTNodeDataType::list_t) and
-                 (node_sub_data_type.m_parent_node.children.size() == value.dimension())) {
-        list_affectation_processor->template add<ValueT, AggregateDataVariant>(value_node);
       } else if (node_sub_data_type.m_parent_node.is_type<language::integer>()) {
         if (std::stoi(node_sub_data_type.m_parent_node.string()) == 0) {
           list_affectation_processor->template add<ValueT, ZeroType>(value_node);
@@ -96,9 +93,6 @@ ASTNodeListAffectationExpressionBuilder::_buildAffectationProcessor(
           (node_sub_data_type.m_data_type.numberOfRows() == value.numberOfRows()) and
           (node_sub_data_type.m_data_type.numberOfColumns() == value.numberOfColumns())) {
         list_affectation_processor->template add<ValueT, ValueT>(value_node);
-      } else if ((node_sub_data_type.m_data_type == ASTNodeDataType::list_t) and
-                 (node_sub_data_type.m_parent_node.children.size() == value.numberOfRows() * value.numberOfColumns())) {
-        list_affectation_processor->template add<ValueT, AggregateDataVariant>(value_node);
       } else if (node_sub_data_type.m_parent_node.is_type<language::integer>()) {
         if (std::stoi(node_sub_data_type.m_parent_node.string()) == 0) {
           list_affectation_processor->template add<ValueT, ZeroType>(value_node);
diff --git a/tests/test_ASTNodeDataType.cpp b/tests/test_ASTNodeDataType.cpp
index 8c6219e2d9975a0f2e007b93b9e3beaa6285e955..29ee313082bd7908699c1227d0486aa31538300f 100644
--- a/tests/test_ASTNodeDataType.cpp
+++ b/tests/test_ASTNodeDataType.cpp
@@ -444,6 +444,16 @@ TEST_CASE("ASTNodeDataType", "[language]")
       REQUIRE_THROWS_WITH(getMatrixExpressionType(*matrix_expression_node), "unexpected node type");
     }
 
+    SECTION("bad content type")
+    {
+      const size_t dimension = 3;
+      matrix_expression_node->children.clear();
+      for (size_t i = 0; i < dimension; ++i) {
+        matrix_expression_node->children.emplace_back(std::make_unique<ASTNode>());
+      }
+      REQUIRE_THROWS_WITH(getMatrixExpressionType(*matrix_expression_node), "expecting row expression");
+    }
+
     SECTION("bad children size 1")
     {
       matrix_expression_node->children.resize(4);