pub trait OpCall { fn call(&mut self, inputs: &[&Var]) -> Result<Vec<Var>, AutoDiffError>; }
Ops that first created, then called needs to follow this behavior.