pub type PResult<T> = Result<T, Fail>;
pub enum PResult<T> { Ok(T), Err(Fail), }
Contains the success value
Contains the error value