let choices_fill_if_empty () : unit Deferred.t =
let i = Ivar.create () in
don't_wait_for (Deferred.all_unit [
(after (sec 2.) >>| fun () -> Ivar.fill_if_empty i "idris");
(after (sec 1.) >>| fun () -> Ivar.fill_if_empty i "coq");
]);
Ivar.read i >>| print_endline