sig
  val extend : (unit -> unit) -> unit
  val play : (unit -> unit) Stdlib.ref
  val apply : unit -> unit
end