Data.List: new function: map_accum()