f [] a = return a ; f (x:xs) a = a + x >>= \fax -> f xs fax