pub trait HasValues<F: Func + ?Sized> {
// Required methods
fn values<'a>(
&'a self,
f: &'a F,
) -> Box<dyn LendingIteratorDyn<Item = HKT<dyn for<'b> WithLifetime<'b, T = Box<dyn Deref<Target = F::Value> + 'b>>>> + 'a>;
fn values_mut<'a>(
&'a mut self,
g: &'a mut F,
) -> Box<dyn LendingIteratorDyn<Item = HKT<dyn for<'b> WithLifetime<'b, T = Box<dyn DerefMut<Target = F::Value> + 'b>>>> + 'a>
where F: 'a;
}