data Listener : Typedata InputPort : Typedata OutputPort : Typedata ReadSyncEvt : Typedata EOF : Typedata Couldn'tConnect : Typedata Couldn'tSetUpTLS : Typedata WriteError : Typedata ErrListen : TypetcpListen : HasIO io => Bits16 -> io (Either ErrListen Listener)tcpAccept : HasIO io => Listener -> io (InputPort, OutputPort)portsToSslPorts : HasIO io => InputPort -> OutputPort -> String -> String -> Buffer -> io (Either Couldn'tSetUpTLS (InputPort, OutputPort))tcpConnect : HasIO io => String -> Bits16 -> io (Either Couldn'tConnect (InputPort, OutputPort))readBytesEvt : HasIO io => Bits16 -> InputPort -> io ReadSyncEvtreadSync : HasIO io => ReadSyncEvt -> io (Either EOF Buffer)writeBytes : HasIO io => Buffer -> OutputPort -> io (Either WriteError Bits64)