{α : Type u} →
  {motive : Lean.BaseMessage α → Sort u_1} →
    (t : Lean.BaseMessage α) →
      ((fileName : String) →
          (pos : Lean.Position) →
            (endPos : Option Lean.Position) →
              (keepFullRange : Bool) →
                (severity : Lean.MessageSeverity) →
                  (isSilent : Bool) →
                    (caption : String) →
                      (data : α) →
                        motive
                          { fileName := fileName, pos := pos, endPos := endPos, keepFullRange := keepFullRange,
                            severity := severity, isSilent := isSilent, caption := caption, data := data }) →
        motive t