Just thinking for Applicative ((->) c)<br>  (<*) = const<br>  (*>) = flip const -- or \ _ x -> x<br><br>Is it because we can rely on GHC to produce the same code from the current definitions?<br><br><br>Also wondering why Monad uses <br>  f >>= k = \ r -> k (f r) r<br><br>but Applicative uses<br>  (<*>) f g x = f x (g x)<br>  liftA2 q f g x = q (f x) (g x)<br><br>Seems like if it's style/legibility, it should be consistent between (>>=) and (<*>). And if it's inlining issue, we'd want lambdas for all three.<br><br>--Keith<br>-- <br>Sent from my phone with K-9 Mail.