// TODO(arv): This should be an iterator.