pub trait Tried {
// Provided methods
fn try_add(self, rhs: Self) -> Result<Self>
where Self: CheckedAdd + Sized { ... }
fn try_sub(self, rhs: Self) -> Result<Self>
where Self: CheckedSub + Sized { ... }
fn try_mul(self, rhs: Self) -> Result<Self>
where Self: CheckedMul + Sized { ... }
fn try_div(self, rhs: Self) -> Result<Self>
where Self: CheckedDiv + Sized { ... }
fn try_rem(self, rhs: Self) -> Result<Self>
where Self: CheckedRem + Sized { ... }
}