`fold()` always creates lists, but `construct_new()` may expect other sequential types.
fold()always creates lists, butconstruct_new()may expect other sequential types.