pub fn left_distributes<S: Debug + PartialEq + Clone, const N: usize>( items: &[S; N], f: impl Fn(S, S) -> S, g: impl Fn(S, S) -> S, ) -> Result<(), &'static str>
Defines the left distributive property
a(b+c) = ab + ac