úÎÏ4     None+04IN Either was a clean close, with ] params, or was unclean. Note that to implement backoff strategies, you should catch your  outside( this simple app, and only after you've  or server, because the  will be different.This can throw a 3 when json parsing fails. However, do note: the @ is called once, but is still forked when called. Likewise, the   function is called  every time^ a (parsable) response is received from the other party, and is forked on every invocation.JA simple backoff strategy, which (per second), will increasingly delay at 2^soFar, until soFar >= 5minutes7, where it will then routinely poll every 5 minutes.  The run app      None4Assumes a isn't an  of anythingAssumes a isn't an  of anythingDelay in microsecondsNone4IN Runs two s together in a forged channel.       ! "#$%&ENQWJgyKzL222anPMNsBvTNetwork.WebSockets.Simple"Network.WebSockets.Simple.PingPongTest.WebSockets.SimpleNetwork.WebSockets runClient ConnectionWebSocketsAppThreads onOpenThreadonReceiveThreadsWebSocketSimpleErrorJSONParseError WebSocketsApponOpen onReceiveonCloseWebSocketsAppParamssendclosehoistWebSocketsApp toClientAppT toClientAppT' toServerAppTexpBackoffStrategy$fExceptionWebSocketSimpleErrorPingPong getPingPongpingPong$fFromJSONPingPong$fToJSONPingPong runConnected14zc9vJ23NAIXIrNZDwMl7Network.WebSockets.Types CloseRequestConnectionExceptionHkVRXfQesQQ90TknmD2O7XData.Aeson.Types.InternalArray