Do I have to give a specific h to make this clearer? One which satisfies the first statement but is not equivalent to foldl or foldr. Actually, one was given already earlier in the conversation, to exactly the purpose of illuminating this whole point.Are you sure you have read and respected all the forall-quantifiers in there?The statement "for all associative f and all lists xs, it holds that h f xs = foldl1 f xs" is *not* equivalent to the statement "for all f and all lists xs, it holds that h f xs = foldl1 f xs". The latter statement is equivalent (via eta-contractions) to "h = foldl", but the former isn't.