{k : Lean.SyntaxNodeKinds} →
  {motive : Lean.Elab.Term.MatchAltView k → Sort u} →
    ((ref : Lean.Syntax) →
        (patterns : Array Lean.Syntax) →
          (lhs : Lean.Syntax) →
            (rhs : Lean.TSyntax k) → motive { ref := ref, patterns := patterns, lhs := lhs, rhs := rhs }) →
      (t : Lean.Elab.Term.MatchAltView k) → motive t