pub trait Field: Ring + Div<Output = Self> + DivAssign { }
field trait which ensures the existence of inverse for both multiplicative and additive arithmetic hence field supports division for any element