sig
  val shutdown : ?force:unit Import.Deferred.t -> int -> unit
  val exit : ?force:unit Import.Deferred.t -> int -> 'Import.Deferred.t
  val shutting_down : unit -> [ `No | `Yes of int ]
  val at_shutdown : (unit -> unit Import.Deferred.t) -> unit
  val don't_finish_before : unit Import.Deferred.t -> unit
end