{M₀ : Type u} →
  {P : Sort u_1} →
    {toMulOneClass : MulOneClass M₀} →
      {toZero : Zero M₀} →
        {zero_mul : ∀ (a : M₀), 0 * a = 0} →
          {mul_zero : ∀ (a : M₀), a * 0 = 0} →
            {toMulOneClass' : MulOneClass M₀} →
              {toZero' : Zero M₀} →
                {zero_mul' : ∀ (a : M₀), 0 * a = 0} →
                  {mul_zero' : ∀ (a : M₀), a * 0 = 0} →
                    { toMulOneClass := toMulOneClass, toZero := toZero, zero_mul := zero_mul, mul_zero := mul_zero } =
                        { toMulOneClass := toMulOneClass', toZero := toZero', zero_mul := zero_mul',
                          mul_zero := mul_zero' } →
                      (toMulOneClass ≍ toMulOneClass' → toZero ≍ toZero' → P) → P