from typing import Callable class Operation: def __init__(self, name: str, arity: int, eval_fn: Callable[[list[float]], float]): self.name = name self.arity = arity self.eval_fn = eval_fn def _eval(self, args: list[float]) -> float: return self.eval_fn(args)