///|
fn main raise {
  let schema = @schema.parse(
    "{\"type\":\"record\",\"name\":\"Greeting\",\"fields\":[{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"count\",\"type\":\"long\"}]}",
  )
  let original = @codec.Record([
    ("message", String("hello, MoonBit")),
    ("count", Long(1L)),
  ])
  let encoded = @codec.encode(schema, original)
  let decoded = @codec.decode(schema, encoded)
  assert_eq(decoded, original)
  println("record roundtrip: ok (\{encoded.length()} bytes)")
}