pub type Result<T, E> = Result<T, Error<E>>;
A non-blocking result
enum Result<T, E> { Ok(T), Err(Error<E>), }
Contains the success value
Contains the error value