code: func rewriteWithModifiersInBody(c *Compiler, f *equalityFactory, body Body) (Body, *Error) {
  	var result Body
  	for i := range body {
  		exprs, err := rewriteWithModifier(c, f, body[i])
  		if err != nil {
  			return nil, err
  		}
  		if len(exprs) > 0 {
  			for _, expr := range exprs {
  				result.Append(expr)
  			}
  		} else {
  			result.Append(body[i])
  		}
  	}
  	return result, nil
  }
docs: // rewriteWithModifiersInBody will rewrite the body so that with modifiers do
  // not contain terms that require evaluation as values. If this function
  // encounters an invalid with modifier target then it will raise an error.