sig
  exception Not_a_record_type of Core.Std.Sexp.t
  module Make :
    functor (M : Core.Std.Sexpable->
      sig
        type t =
          Extra_fields.Make(M).t = {
          value : M.t;
          extra_fields : string list;
        }
        val t_of_sexp : Sexplib.Sexp.t -> t
        val sexp_of_t : t -> Sexplib.Sexp.t
      end
end