sig
  module type S =
    sig
      type elt
      val sexp_of_elt : elt -> Sexplib.Sexp.t
      val elt_of_sexp : Sexplib.Sexp.t -> elt
      val zero : elt
      val ( + ) : elt -> elt -> elt
      val ( - ) : elt -> elt -> elt
    end
end