foldr is lazier than foldl