code: func (it *Or) Close() error {
  	it.cleanUp()
  
  	var err error
  	for _, sub := range it.internalIterators {
  		_err := sub.Close()
  		if _err != nil && err == nil {
  			err = _err
  		}
  	}
  
  	return err
  }
docs: // Close this graph.iterator, and, by extension, close the subiterators.
  // Close should be idempotent, and it follows that if it's subiterators
  // follow this contract, the Or follows the contract.  It closes all
  // subiterators it can, but returns the first error it encounters.