pub trait MutFP { type Scalar; fn mut_map<F>(&mut self, f: F) where F: Fn(Self::Scalar) -> Self::Scalar; fn mut_zip_with<F>(&mut self, f: F, other: &Self) where F: Fn(Self::Scalar, Self::Scalar) -> Self::Scalar; }