restart types by collecting and then iterating again