code: func (it *HasA) Close() error {
  	err := it.primaryIt.Close()
  
  	if it.resultIt != nil {
  		_err := it.resultIt.Close()
  		if err == nil {
  			err = _err
  		}
  	}
  
  	return err
  }
docs: // Close the subiterator, the result iterator (if any) and the HasA. It closes
  // all subiterators it can, but returns the first error it encounters.