code: func (r *Rego) rewriteEqualsForPartialQueryCompile(_ ast.QueryCompiler, query ast.Body) (ast.Body, error) {
  	doubleEq := ast.Equal.Ref()
  	unifyOp := ast.Equality.Ref()
  	ast.WalkExprs(query, func(x *ast.Expr) bool {
  		if x.IsCall() {
  			operator := x.Operator()
  			if operator.Equal(doubleEq) && len(x.Operands()) == 2 {
  				x.SetOperator(ast.NewTerm(unifyOp))
  			}
  		}
  		return false
  	})
  	return query, nil
  }
docs: // rewriteEqualsForPartialQueryCompile will rewrite == to = in queries. Normally
  // this wouldn't be done, except for handling queries with the `Partial` API
  // where rewriting them can substantially simplify the result, and it is unlikely
  // that the caller would need expression values.