///|
fn main {
  let create_user = @bulk.bulk_operation(
    @bulk.Post,
    "/Users",
    bulk_id="new-employee",
    data=@value.object_value([
      @value.field("userName", @value.string("new.employee@example.com")),
    ]),
  )
  let create_group = @bulk.bulk_operation(
    @bulk.Post,
    "/Groups",
    bulk_id="engineering",
    data=@value.object_value([
      @value.field("displayName", @value.string("Engineering")),
      @value.field(
        "members",
        @value.list([
          @value.object_value([
            @value.field("value", @value.string("bulkId:new-employee")),
          ]),
        ]),
      ),
    ]),
  )
  let plan = @bulk.plan_bulk(
    @bulk.bulk_request([create_group, create_user], fail_on_errors=1),
  ).unwrap()
  if plan.source_indices() != [1, 0] {
    abort("dependency planner must place the user before the group")
  }
  let resolved_group = @bulk.resolve_bulk_operation(create_group, [
    @bulk.bulk_resolution("new-employee", "user-9001"),
  ]).unwrap()
  println(@codec.encode_value(resolved_group.data().unwrap()).unwrap())
}