(-> a)가 applicative를 구현했단걸 잘 이해한다면


and $ (\x -> (zipWith (<=) x (drop 1 x))) [1,2,6,4]

여기서의 명시적 람다를


and $ (zipWith (<=) <*> drop 1) [1,2,6,4]

요렇게 우아하게 표현할 수 있다




아직은 우아함이 실용성으로 연결되는 수준은 못되지만 계속 공부해본다