`>>=` and `>>` are idiomatic but rub me up the wrong way. I prefer `=<<` and `<<` (`<<` I even have to define myself).
I wish `Monad` extended `Applicative`. I wish this sort of refactoring wasn't a breaking change.
I wish wrappers like `Endo` and `Kleisli` weren't necessary. (I know why they're necessary, and it's probably the right trade-off, but...)
I wish `mempty`, `mappend` and `mconcat` had better names.
`Endo a` wraps `a -> a` so it can have a Monoid instance. Maybe I really want `endo :: [a -> a] -> (a -> a)`, by analogy with sum/Sum, all/All, etc.
`Kleisli m b c` wraps `b -> m c` so `Kleisli m` can have an Arrow instance (given Monad m).
http://www.reddit.com/r/haskell/comments/n7x5t/on_the_applic...
lack of stacktraces (loch ca't be used with 6.12 on), cabal on mac, profiling vs. inlining, GHCi's limitations and slowness, and how do you know which packages on hackage to use?
A lot of these are being worked on:
http://www.reddit.com/r/haskell/comments/k4lc4/yesod_the_lim...
http://www.reddit.com/r/haskell/comments/mm68o/ghc_74_branch...