///|
struct Person {
  name : String
  age : Int
} derive(ToJson, @json.FromJson, Debug)

///|
fn main {
  let p = { name: "Tom", age: 18, }

  let j = ToJson::to_json(p).stringify()
  println(j)
  try {
    let p2 : Person = @json.from_json(@json.parse(j))
    println(Repr(p2))
  } catch {
    _ => println("Error parsing JSON")
  }
}