pub fn eval<F, O>( session_state: &mut SessionState, state: Option<&mut (dyn OpState + 'static)>, node: &Node<F, O>, input: SmallVec<[TValue; 4]>, ) -> Result<SmallVec<[TValue; 4]>, Error>where F: Fact + Clone + 'static, O: Debug + Display + AsRef<dyn Op> + AsMut<dyn Op> + Clone + 'static,