Well i finished the Monad challenges, so it's back watching catster video's again. 

Suddenly, start seeing the syntax for a list comprehension as a monad do notation, rather than an implicit for loop.. 

bar f xs = map f xs
bar f xs = [ f x | x <- xs ]
bar f xs = do 
   x <- xs;
   return $ f x