///|
fn main {
  let result = @problem.ProblemBuilder::new()
    .type_uri("https://example.com/problems/not-found")
    .title("Not Found")
    .status(404)
    .detail("The requested widget does not exist.")
    .instance("/widgets/42")
    .extension("request_id", Json::string("req-123"))
    .build()
  match result {
    Ok(problem) => println(@problem.serialize_problem(problem))
    Err(error) => println(error.to_string())
  }
}