diff --git a/b_asic/special_operations.py b/b_asic/special_operations.py
index ca7ff203d5d58b18b50dcfece6eeb0c036d993e9..46796d188b8bd0afac115e63d7a40a69f2099f49 100644
--- a/b_asic/special_operations.py
+++ b/b_asic/special_operations.py
@@ -75,7 +75,7 @@ class Register(AbstractOperation):
             return registers.get(self.key(index, prefix), self.param("initial_value"))
         return self.param("initial_value")
     
-    def evaluate_output(self, index: int, input_values: Sequence[Number], results: Optional[MutableResultMap] = None, registers: Optional[MutableRegisterMap] = None, prefix: str = ""):
+    def evaluate_output(self, index: int, input_values: Sequence[Number], results: Optional[MutableResultMap] = None, registers: Optional[MutableRegisterMap] = None, prefix: str = "") -> Number:
         if index != 0:
             raise IndexError(f"Output index out of range (expected 0-0, got {index})")
         if len(input_values) != 1: