pub trait Connect { type Stream: I3IPC; fn connect() -> Result<Self::Stream, Error>; }
Types implementing this are provided a connect function and return a stream