code: func (iter *UnionIter) snapshotNext() error {
  	err := iter.snapshotIt.Next()
  	iter.snapshotValid = iter.snapshotIt.Valid()
  	return err
  }
docs: // snapshotNext makes iter.snapshotIt go and update valid status.