///|
fn main {
  try {
    let t : @topo.Topology = @data.districts().prune(["a", "b"])
    let report = t.quantization_report(101)
    assert_true(report.max_error_x <= report.half_step_x)
    assert_true(report.max_error_y <= report.half_step_y)
    let packed = t.quantize(101)
    assert_eq(packed.feature("a"), t.feature("a"))
    println(ToJson::to_json(report).stringify())
    println(packed.write())
  } catch {
    e => {
      println(e.to_string())
      panic()
    }
  }
}