///|
fn main {
  match @problem.parse_problem("{\"status\":404,\"instance\":\"/missing\"}") {
    Err(error) => println(error.to_string())
    Ok(problem) => {
      let context = @problem.problem_context(
        Some(404),
        Some("application/problem+json"),
        Some("https://api.example.com/"),
      )
      println("semantic issues: \{@problem.validate_problem(problem).length()}")
      println(
        "context issues: \{@problem.validate_context(problem, context).length()}",
      )
    }
  }
}