diff --git a/include/aidge/utils/CParameter.hpp b/include/aidge/utils/CParameter.hpp
index 6e8754537f41c995762a76bd6580607966055aec..2aba93fe39fe09d9046a485455b8a3f2b4967853 100644
--- a/include/aidge/utils/CParameter.hpp
+++ b/include/aidge/utils/CParameter.hpp
@@ -27,7 +27,7 @@ private:
     inline _ValueType& any_cast_ref(const _any& __any)
     {
         using _Up =  std::remove_cv_t<std::remove_reference_t<_ValueType>>;
-        assert((std::__or_<std::is_reference<_ValueType>, std::is_copy_constructible<_ValueType>>::value && "Template argument must be a reference or CopyConstructible type"));
+        assert(((std::is_reference<_ValueType>::value || std::is_copy_constructible<_ValueType>::value) && "Template argument must be a reference or CopyConstructible type"));
         assert((std::is_constructible<_ValueType, const _Up&>::value && "Template argument must be constructible from a const value."));
         assert(std::is_object<_Up>::value);
         assert(__any.type() == typeid(_Up));