refine list.iter