functor (Loc : Type->
  sig
    module type S =
      sig
        type warning = Loc.t -> string -> unit
        val default_warning : Camlp4.Sig.Warning.S.warning
        val current_warning : Camlp4.Sig.Warning.S.warning Pervasives.ref
        val print_warning : Camlp4.Sig.Warning.S.warning
      end
  end