diff --git a/b_asic/operation.py b/b_asic/operation.py
index 52b9054f39fb7522f445106e858a8964fa184f5a..a18b383a1a20be2213f6e18fb8ac66de1a404394 100644
--- a/b_asic/operation.py
+++ b/b_asic/operation.py
@@ -285,7 +285,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
         if result is not None:
             return result
         values = self.evaluate(*self._truncate_inputs(input_values))
-        if isinstance(values, collections.Sequence):
+        if isinstance(values, collections.abc.Sequence):
             if len(values) != self.output_count:
                 raise RuntimeError(f"Operation evaluated to incorrect number of outputs (expected {self.output_count}, got {len(values)})")
         elif isinstance(values, Number):