code: func (r *Rego) Eval(ctx context.Context) (ResultSet, error) {
  	var err error
  	if r.txn == nil {
  		r.txn, err = r.store.NewTransaction(ctx)
  		if err != nil {
  			return nil, err
  		}
  		defer r.store.Abort(ctx, r.txn)
  	}
  
  	pq, err := r.PrepareForEval(ctx)
  	if err != nil {
  		return nil, err
  	}
  
  	return pq.Eval(ctx)
  }
docs: // Eval evaluates this Rego object and returns a ResultSet.