sig
  module type Mappable =
    sig
      type 'a mappable
      val map :
        ('a -> 'b) ->
        'a BatInterfaces.Mappable.mappable ->
        'b BatInterfaces.Mappable.mappable
    end
  module type OrderedType =
    sig
      type t
      val compare :
        BatInterfaces.OrderedType.t -> BatInterfaces.OrderedType.t -> int
    end
end