pub type Result<I, O, E = ()> = Result<Success<I, O>, Error<E>>;
enum Result<I, O, E = ()> { Ok(Success<I, O>), Err(Error<E>), }
Contains the success value
Contains the error value