learning rust with iterators