pub trait Inverse<T> {
// Required methods
fn has_additive_inverse(&self) -> bool;
fn has_multiplicative_inverse(&self) -> bool;
fn get_additive_inverse(&self) -> Option<Self>
where Self: Sized;
fn get_multiplicative_inverse(&self) -> Option<Self>
where Self: Sized;
}