sig   module type DIFF_ELEMENT =     sig       type t       val pp_printer : Format.formatter -> OUnitDiff.DIFF_ELEMENT.t -> unit       val compare :         OUnitDiff.DIFF_ELEMENT.t -> OUnitDiff.DIFF_ELEMENT.t -> int       val pp_print_sep : Format.formatter -> unit -> unit     end   module type S =     sig       type e       type t       val compare : OUnitDiff.S.t -> OUnitDiff.S.t -> int       val pp_printer : Format.formatter -> OUnitDiff.S.t -> unit       val pp_diff : Format.formatter -> OUnitDiff.S.t * OUnitDiff.S.t -> unit       val assert_equal :         ?msg:string -> OUnitDiff.S.t -> OUnitDiff.S.t -> unit       val of_list : OUnitDiff.S.e list -> OUnitDiff.S.t     end   module SetMake :     functor (D : DIFF_ELEMENT->       sig         type e = D.t         type t         val compare : t -> t -> int         val pp_printer : Format.formatter -> t -> unit         val pp_diff : Format.formatter -> t * t -> unit         val assert_equal : ?msg:string -> t -> t -> unit         val of_list : e list -> t       end   module ListSimpleMake :     functor (D : DIFF_ELEMENT->       sig         type e = D.t         type t = D.t list         val compare : t -> t -> int         val pp_printer : Format.formatter -> t -> unit         val pp_diff : Format.formatter -> t * t -> unit         val assert_equal : ?msg:string -> t -> t -> unit         val of_list : e list -> t       end   val pp_comma_separator : Format.formatter -> unit -> unit end