What I Wish I Knew When Learning Haskell
syntax. of the dozen languages i've taught myself, (which is a super-set of the half dozen i've used to write significant things), Haskell's syntax has been, and remains, the largest barrier for me (and this includes perl!).  For example, just a clear equivalence, like this one given by the very helpful linked article here, would've helped enormously ("sugared form" for monad):    do { a >= \a -> do { m }

Sometimes i think the authors of Haskell had a completely different glyph set.  I'm sure some of you folks can read this like a book, but this sort of thing still throws me into the ditch:    M2 :: (Monad m) => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r