I don't know whether this is related or not, but I have the following somewhere in my code:
-- the following is apparently eqivalent to (\ i -> foo (bar i) i).
-- pointfree suggests so. i don't understand why.
(foo =<< bar)
Is this a similar situation?
--
Ozgur Akgun