check for derived iterator type