let open_win (wn: win_name) (u: url) (wo: win_opener) (b: b)
  : win_ref * b * output_event list =
    let (w', b') = build_win wn Blank_url wo None b in
    let (wr, b'') = win_new w' b' in
    let (b''', oes) = fetch_url u wr b'' in
    (wr, b''', UI_win_opened_event :: oes)