pub type Operation<T> = Rc<dyn Fn(OpInputs<T>) -> Result<T>>;
pub struct Operation<T> { /* private fields */ }