sig
  val plan : int -> (unit -> unit) -> string
  val no_plan : (unit -> unit) -> string
end