pub trait Grad {
type Args: Identifiable;
type Gradient: StoreExt<Self::Args>;
// Required methods
fn grad(&self) -> Self::Gradient;
fn grad_at(&self, wrt: <Self::Args as Identifiable>::Id) -> Self::Args;
}pub trait Grad {
type Args: Identifiable;
type Gradient: StoreExt<Self::Args>;
// Required methods
fn grad(&self) -> Self::Gradient;
fn grad_at(&self, wrt: <Self::Args as Identifiable>::Id) -> Self::Args;
}