sig
  type t
  val syntax : Syntax.t
  val of_json : Data.json -> Data.S.t
  val to_json : Data.S.t -> Data.json
end