///|
fn benchmark_expr(size : Int) -> Expr {
  let children : Array[Expr] = []
  for index in 0.. RuleDocument {
  {
    id: "benchmark-\{size}",
    description: "deterministic benchmark fixture",
    condition: benchmark_expr(size),
  }
}

///|
fn benchmark_rule_source(size : Int) -> String {
  let conditions : Array[Json] = []
  for index in 0..=": Json::array([Json::number(index.to_double()), Json::number(0.0)]),
      }),
    )
  }
  Json::object({
    "id": Json::string("benchmark-\{size}"),
    "description": Json::string("deterministic benchmark fixture"),
    "condition": Json::object({ "and": Json::array(conditions) }),
  }).stringify()
}