diff --git a/include/evalhyd/evald.hpp b/include/evalhyd/evald.hpp
index 2fbcd952e720d3fbe026140894ff9e6de6255c45..f6539c396cf9dd4566bea5ffa96c17061b4de768 100644
--- a/include/evalhyd/evald.hpp
+++ b/include/evalhyd/evald.hpp
@@ -36,6 +36,11 @@ namespace evalhyd
     ///         (e.g. ``xt::xtensor<bool, 3>``, ``xt::pytensor<bool, 3>``,
     ///         ``xt::rtensor<bool, 3>``, etc.).
     ///
+    ///    XS2: Any 2-dimensional container class storing string elements
+    ///         (e.g. ``xt::xtensor<std::array<char, 32>, 2>``,
+    ///         ``xt::pytensor<std::array<char, 32>, 2>``,
+    ///         ``xt::rtensor<std::array<char, 32>, 2>``, etc.).
+    ///
     /// :Parameters:
     ///
     ///    q_obs: ``XD2``
@@ -84,7 +89,7 @@ namespace evalhyd
     ///
     ///       .. seealso:: :doc:`../../functionalities/temporal-masking`
     ///
-    ///    m_cdt: ``xt::xtensor<std::array<char, 32>, 2>``, optional
+    ///    m_cdt: ``XS2``, optional
     ///       Masking conditions to use to generate temporal subsets. Each
     ///       condition consists in a string and can be specified on observed
     ///       streamflow values/statistics (mean, median, quantile), or on time
diff --git a/include/evalhyd/evalp.hpp b/include/evalhyd/evalp.hpp
index b00a33cf280e8a2d6765d7ba94063550892ae7e8..8cf1fa78a644aaad990a06c4e5ddeff923beeaca 100644
--- a/include/evalhyd/evalp.hpp
+++ b/include/evalhyd/evalp.hpp
@@ -41,6 +41,11 @@ namespace evalhyd
     ///         (e.g. ``xt::xtensor<bool, 4>``, ``xt::pytensor<bool, 4>``,
     ///         ``xt::rtensor<bool, 4>``, etc.).
     ///
+    ///    XS2: Any 2-dimensional container class storing string elements
+    ///         (e.g. ``xt::xtensor<std::array<char, 32>, 2>``,
+    ///         ``xt::pytensor<std::array<char, 32>, 2>``,
+    ///         ``xt::rtensor<std::array<char, 32>, 2>``, etc.).
+    ///
     /// :Parameters:
     ///
     ///    q_obs: ``XD2``
@@ -88,7 +93,7 @@ namespace evalhyd
     ///
     ///       .. seealso:: :doc:`../../functionalities/temporal-masking`
     ///
-    ///    m_cdt: ``xt::xtensor<std::array<char, 32>, 2>``, optional
+    ///    m_cdt: ``XS2``, optional
     ///       Masking conditions to use to generate temporal subsets. Each
     ///       condition consists in a string and can be specified on
     ///       observed/predicted streamflow values/statistics (mean, median,