import Control.Applicative
import Control.Arrow
filter ((&&) <$> (>2) <*> (<7)) [1..10]
filter ((>2) &&& (<7) >>> uncurry (&&)) [1..10]
Оба получат тот же результат! Однако мне очень сложно понять. Может ли кто-нибудь здесь объяснить это подробно?