Adding suppress warning and strong type for Iterator