{motive : Lean.Lsp.WorkDoneProgressReport → Sort u} →
  ((kind : String) →
      (message? : Option String) →
        (cancellable : Bool) →
          (percentage? : Option ℕ) →
            motive { kind := kind, message? := message?, cancellable := cancellable, percentage? := percentage? }) →
    (t : Lean.Lsp.WorkDoneProgressReport) → motive t