sig
  type token_filter = (t, Loc.t) Sig.stream_filter
  type t
  val mk : (string -> bool) -> t
  val define_filter : t -> (token_filter -> token_filter) -> unit
  val filter : t -> token_filter
  val keyword_added : t -> string -> bool -> unit
  val keyword_removed : t -> string -> unit
end