The function (:) . (++) is equivalent to \f fs -> (f ++) : fs. Do you see why?
Maybe you meant to liftM2 ((:) .)?
Name:
Anonymous2010-04-12 11:40
I was confused by the use of [[a] -> [a]] rather than [([a] -> [a])]. In retrospect the second is nonsensical, because the parens don't provide an informative grouping. I was too accustomed to the most common syntax and forgot the semantics.