diff --git a/include/aidge/operator/Conv.hpp b/include/aidge/operator/Conv.hpp
index 22553080c6d4d8359149b3b34c5d040e5e900c4d..d126bdbe1a03c16dd3bb1e354e7377b70524cc1d 100644
--- a/include/aidge/operator/Conv.hpp
+++ b/include/aidge/operator/Conv.hpp
@@ -196,7 +196,7 @@ inline std::shared_ptr<Node> Conv(DimSize_t in_channels,
     auto conv = std::make_shared<Node>(std::make_shared<Conv_Op<static_cast<DimIdx_t>(DIM)>>(in_channels, out_channels, kernel_dims, stride_dims, padding_dims, dilation_dims), name);
     // addProducer(conv, 1, append(append(kernel_dims, in_channels), out_channels), "w");
     addProducer(conv, 1, append(out_channels, append(in_channels, kernel_dims)), "w");
-    addProducer(conv, 2, {out_channels}, "b");
+    addProducer(conv, 2, std::array<DimSize_t, 1>({out_channels}), "b");
     return conv;
 }
 
diff --git a/include/aidge/operator/FC.hpp b/include/aidge/operator/FC.hpp
index 127d39a8bdfdd233cdac9e1ca6cf0bf85f656d16..c9444bd357389cd67406615c71400c2fd5f2ac3f 100644
--- a/include/aidge/operator/FC.hpp
+++ b/include/aidge/operator/FC.hpp
@@ -163,8 +163,8 @@ public:
 inline std::shared_ptr<Node> FC(DimSize_t out_channels, bool noBias = false, const std::string& name = "") {
     // FIXME: properly handle default w&b initialization in every cases
     auto fc = std::make_shared<Node>(std::make_shared<FC_Op>(out_channels, noBias), name);
-    addProducer(fc, 1, {out_channels, 1}, "w");
-    addProducer(fc, 2, {(noBias ? 0 : out_channels)}, "b"); // already sets bias dims
+    addProducer(fc, 1, std::array<DimSize_t, 2>({out_channels, 1}), "w");
+    addProducer(fc, 2, (noBias ? std::array<DimSize_t, 1>({0}) : std::array<DimSize_t, 1>({out_channels})), "b"); // already sets bias dims
     return fc;
 }
 } // namespace Aidge
diff --git a/include/aidge/operator/MatMul.hpp b/include/aidge/operator/MatMul.hpp
index d0dadd847a59c9d2a1c0dd97f2f200437da71863..d8c62117e8753c34f410413a1cad7d9643e6ffd6 100644
--- a/include/aidge/operator/MatMul.hpp
+++ b/include/aidge/operator/MatMul.hpp
@@ -153,7 +153,7 @@ public:
 inline std::shared_ptr<Node> MatMul(DimSize_t out_channels, const std::string& name = "") {
     // FIXME: properly handle default w initialization in every cases
     auto matmul = std::make_shared<Node>(std::make_shared<MatMul_Op>(out_channels), name);
-    addProducer(matmul, 1, {out_channels, 1}, "w");
+    addProducer(matmul, 1, std::array<DimSize_t, 2>({out_channels, 1}), "w");
     return matmul;
 }
 } // namespace Aidge