pub trait Produce<'a, 'b, P, Input> {
// Required method
fn produce_with(input: &'b Input, producer: &mut P) -> Self;
}
pub trait Produce<'a, 'b, P, Input> {
// Required method
fn produce_with(input: &'b Input, producer: &mut P) -> Self;
}