sig
  type 'a t = 'a Handler.t
  val create : ('a -> unit) -> 'a t
  val prepend : 'a t -> f:('b -> 'a) -> 'b t
  val filter : 'a t -> f:('a -> bool) -> 'a t
  val install : 'a t -> 'a Deferred.t -> unit -> unit
  val schedule : 'a t -> 'a -> unit
end