Option Lean.Expr →
  Lean.Expr →
    (Option Lean.MessageData → Lean.Expr → Lean.Expr → Lean.MetaM Lean.MessageData) →
      (Lean.MVarId → Lean.Expr → Lean.Expr → Lean.MetaM Lean.MessageData) → Lean.Elab.TermElabM Lean.Expr