///| trait HomomorphismNat { from_nat(Int) -> Self } ///| impl HomomorphismNat for Int with from_nat(x) { x } ///| pub fn[A : Semiring + Eq] is_zero(x : A) -> Bool { x == A::zero() }