pub trait Product<T, U> { fn mul(a: T, b: U) -> Self; }
Implemented by products.
Creates a product out of two propositions.