aviary
pub fn cardinal<A, B, C, F>(f: F) -> impl Fn(B, A) -> C where F: Fn(A, B) -> C,
C combinator, flip