pub type Message { Info(caller: Subject(State)) }
Info(caller: Subject(State))
pub type State { State( listen_socket: ListenSocket, port: Int, ip_address: IpAddress, ) }
State( listen_socket: ListenSocket, port: Int, ip_address: IpAddress, )
pub fn start( port: Int, transport: Transport, options: List(TcpOption), ) -> Result(Subject(Message), StartError)