:: a -> (a -> b) -> b -package:diagrams-lib -package:quaalude -package:lens-family-core -package:cond -package:optics-core package:funcmp