tool
pub fn compose<A, B, C, F, G>( f: F, g: G) -> impl Fn(A) -> C where G: Fn(A) -> B, F: Fn(B) -> C,
Compose two functions.
Takes functions f and g and returns f ∘ g = |a: A| f(g(a)).
f
g
f ∘ g = |a: A| f(g(a))