///|
fn print_formatted(value : Int, config : @roman.FormatConfig) -> Unit {
  match @roman.format_with_config(value, config) {
    Ok(text) => println(text)
    Err(_) => println("format failed")
  }
}

///|
fn main {
  print_formatted(2026, @roman.modern_format_config())
  print_formatted(944, @roman.additive_format_config())
  print_formatted(4, @roman.clock_format_config())
  print_formatted(944944, @roman.extended_format_config())
  match @roman.parse_with_config("(IV)", @roman.extended_parse_config()) {
    Ok(report) => println(report.value)
    Err(_) => println("parse failed")
  }
}