let listener_create addr =
      let root_http_disp_level =
        { seg_map = new c_seg_map; fallback = default_http_fallback; }
      and root_ws_disp_level =
        { seg_map = new c_seg_map; fallback = default_ws_fallback; } in
      let server_func =
        server_func root_http_disp_level root_ws_disp_level in
      let io_server_lazy = lazy (HS.run addr server_func) in
      let listener =
        {
          io_server_lazy = io_server_lazy;
          root_http_disp_level = root_http_disp_level;
          root_ws_disp_level = root_ws_disp_level;
        }
      in (listener, root_http_disp_level, root_ws_disp_level)