`type readyState =`

1. `| CONNECTING`
2. `| OPEN`
3. `| CLOSING`
4. `| CLOSED`

`class type 'a closeEvent = object ... end`
`class type 'a messageEvent = object ... end`
`class type webSocket = object ... end`
`val webSocket : (Js.js_string Js.t -> webSocket Js.t) Js.constr`
`val webSocket_withProtocol : (Js.js_string Js.t -> Js.js_string Js.t -> webSocket Js.t) Js.constr`
`val webSocket_withProtocols : (Js.js_string Js.t -> Js.js_string Js.t Js.js_array Js.t -> webSocket Js.t) Js.constr`
`val is_supported : unit -> bool`