let handle_close_win_event (wr: win_ref) (b: b)
  : state * output_event list =
    assert (win_valid wr b);
    let oe = UI_win_closed_event(win_to_user_window wr b) in
    let w' = { waiting_state = win_remove wr b } in
    (Waiting(w'), [ oe ])