:: (a -> Bool) -> (a -> Bool) -> (a -> Bool) -package:foldl -package:unipatterns

Lift boolean or over predicates.
And (&&) operator over one-argument properties. Allows building conjuntions between one-argument properties:
> holds 100 $ id === (+0) &&& id === (id . id)
True
Or (||) operator over one-argument properties. Allows building disjunctions between one-argument properties:
> holds 100 $ id === (+0) ||| id === (id . id)
True
Allows building equality properties between functions.
prop_id_idempotent  =  id === id . id
> check $ id === (+0)
+++ OK, passed 200 tests.
> check $ id === id . id
+++ OK, passed 1 tests (exhausted).
> check $ id === (+1)
*** Failed! Falsifiable (after 1 tests):
0
Extend a generic query by a type-specific case