pub fn value_and_grad<'a, K, IN, OUT, F>( func: F, ) -> impl Fn(IN) -> (OUT, IN::Gradient) + Clone + 'awhere F: Func<K, IN, OUT> + Clone + 'a, IN: Value, OUT: Value,