For foldr
we have the fusion law: if f
is strict, f a = b
, and
f (g x y) = h x (f y)
for all x, y
, then f . foldr g a = foldr h b
.
How can one discover/derive a similar law for foldr1
? (It clearly can't even take the same form - consider the case when both sides act on [x]
.)