sig
  module Make :
    functor (DS : DugADT.S->
      functor (A : Types.Mono.ArbitraryComparable->
        sig
          val generate :
            DugProfile.Make(DS).t ->
            int ->
            ((A.t, Dug.Id.t) DS.generator, (A.t, Dug.Id.t) DS.mutator,
             (A.t, Dug.Id.t) DS.observer)
            Reins.Dug.t
        end
end