functor (A : S) -> sig type t = A.t list val syntax : Syntax.t val of_json : json -> t val to_json : t -> json end