sig
  module Make :
    functor (Token : Sig.Camlp4Token->
      sig
        type t
        val mk : unit -> Camlp4.Struct.??.Make.t
        val define : Token.Filter.t -> Camlp4.Struct.??.Make.t -> unit
        val filter :
          Camlp4.Struct.??.Make.t ->
          (Token.t * Token.Loc.t) Stream.t ->
          (Token.t * Token.Loc.t) Stream.t
        val take_list :
          Camlp4.Struct.??.Make.t -> (string * Token.Loc.t) list
        val take_stream :
          Camlp4.Struct.??.Make.t -> (string * Token.Loc.t) Stream.t
      end
end