sig
  module type Unit = sig  end
  module Unit : Unit
  module type Labeller =
    sig
      type label
      val new_tagged_label : string -> TypeLabel.Labeller.label
      val label_of_string : string -> TypeLabel.Labeller.label
      val equal :
        TypeLabel.Labeller.label -> TypeLabel.Labeller.label -> bool
      val compare :
        TypeLabel.Labeller.label -> TypeLabel.Labeller.label -> int
      val hash : TypeLabel.Labeller.label -> int
      val long_shower : TypeLabel.Labeller.label Show.show
      val short_shower : TypeLabel.Labeller.label Show.show
    end
  module MakeLabeller : functor (Unit : Unit-> Labeller
end