{M : Type → Type} →
  [Monad M] →
    [Lean.MonadError M] →
      [MonadLiftT Lean.MetaM M] →
        [Lean.Meta.Grind.Arith.CommRing.MonadCanon M] →
          [Lean.Meta.Grind.Arith.CommRing.MonadRing M] →
            (ℕ → Lean.Expr) → Lean.Meta.Grind.Arith.CommRing.RingExpr → M Lean.Expr