{m : Type → Type u_1} →
  [Monad m] →
    [MonadControlT Lean.MetaM m] →
      [MonadLiftT Lean.MetaM m] →
        Lean.Elab.Tactic.Do.ProofMode.MGoal →
          Lean.TSyntax `Lean.binderIdent → (Lean.Elab.Tactic.Do.ProofMode.MGoal → m Lean.Expr) → m Lean.Expr