Is there a better way to express (\\(a, b) -> a < b) with function composition? I feel like I\'m missing something and experimenting with curry
curry is the wrong thing to use here; it turns a function operating on tuples into a curried function. You want the opposite, which is uncurry:
uncurry :: (a -> b -> c) -> (a, b) -> c
In this case, it's uncurry (<).
(Another useful source for combinators useful in writing functions on tuples is Control.Arrow; since (->) is an instance of Arrow, you can read a b c as b -> c.)