constructor Ring.mk.{u} : {R : Type u} → [toZero : Zero R] → (gsmul : Int → R → R) → (∀ (a : R), gsmul 0 a = 0) → Ring R { zero := 0, gsmul := fun x n => x.toNat * n, gsmul_zero' := ⋯ } : Ring Nat