anchor.diff:  (COMMON-LISP:DEFCLASS DOCUMENT-SYMBOL COMMON-LISP:NIL
                         ((NAME :INITARG :NAME :DOCUMENTATION "*
   * The name of this symbol. Will be displayed in the user interface and therefore must not be
  -* an empty string or a string only consisting of white spaces.")
  +* an empty string or a string only consisting of white spaces."
  +                        :TYPE COMMON-LISP:STRING)
                          (DETAIL? :INITARG :DETAIL :DOCUMENTATION "*
  -* More detail for this symbol, e.g the signature of a function.")
  +* More detail for this symbol, e.g the signature of a function."
  +                        :TYPE COMMON-LISP:STRING)
                          (KIND :INITARG :KIND :DOCUMENTATION "*
  -* The kind of this symbol.")
  +* The kind of this symbol."
  +                        :TYPE SYMBOL-KIND)
                          (DEPRECATED? :INITARG :DEPRECATED :DOCUMENTATION "*
  -* Indicates if this symbol is deprecated.")
  +* Indicates if this symbol is deprecated."
  +                        :TYPE COMMON-LISP:BOOLEAN)
                          (RANGE :INITARG :RANGE :DOCUMENTATION "*
   * The range enclosing this symbol not including leading/trailing whitespace but everything else
   * like comments. This information is typically used to determine if the clients cursor is
  -* inside the symbol to reveal in the symbol in the UI.")
  +* inside the symbol to reveal in the symbol in the UI."
  +                        :TYPE RANGE)
                          (SELECTION-RANGE :INITARG :SELECTION-RANGE :DOCUMENTATION "*
   * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
  -* Must be contained by the `range`.")
  +* Must be contained by the `range`."
  +                        :TYPE RANGE)
                          (CHILDREN? :INITARG :CHILDREN :DOCUMENTATION "*
  -* Children of this symbol, e.g. properties of a class.")))
  +* Children of this symbol, e.g. properties of a class."
  +                        :TYPE (LEM-LSP-MODE/TYPE:LSP-ARRAY DOCUMENT-SYMBOL))))
   
   (COMMON-LISP:DEFCLASS SYMBOL-INFORMATION COMMON-LISP:NIL
                         ((NAME :INITARG :NAME :DOCUMENTATION "*
  -* The name of this symbol.")
  +* The name of this symbol."
  +                        :TYPE COMMON-LISP:STRING)
                          (KIND :INITARG :KIND :DOCUMENTATION "*
  -* The kind of this symbol.")
  +* The kind of this symbol."
  +                        :TYPE SYMBOL-KIND)
                          (DEPRECATED? :INITARG :DEPRECATED :DOCUMENTATION "*
  -* Indicates if this symbol is deprecated.")
  +* Indicates if this symbol is deprecated."
  +                        :TYPE COMMON-LISP:BOOLEAN)
                          (LOCATION :INITARG :LOCATION :DOCUMENTATION "*
   * The location of this symbol. The location's range is used by a tool
   * to reveal the location in the editor. If the symbol is selected in the
  
positive.code: * - `**` to match any number of path segments, including none
  * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
  * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
  * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)")
                         (KIND? :INITARG :KIND :DOCUMENTATION "*
  * The kind of events of interest. If omitted it defaults
  * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
  * which is 7.")))
  
  (COMMON-LISP:PROGN
   (COMMON-LISP:DEFPARAMETER WATCH-KIND.CREATE 1)
   (COMMON-LISP:DEFPARAMETER WATCH-KIND.CHANGE 2)
   (COMMON-LISP:DEFPARAMETER WATCH-KIND.DELETE 4))
  
  (COMMON-LISP:DEFCLASS DID-CHANGE-WATCHED-FILES-PARAMS COMMON-LISP:NIL
                        ((CHANGES :INITARG :CHANGES :DOCUMENTATION "*
  * The actual file events.")))
  
  (COMMON-LISP:DEFCLASS FILE-EVENT COMMON-LISP:NIL
                        ((URI :INITARG :URI :DOCUMENTATION "*
  * The file's URI.")
                         (TYPE :INITARG :TYPE :DOCUMENTATION "*
  * The change type.")))
  
  (COMMON-LISP:PROGN
   (COMMON-LISP:DEFPARAMETER FILE-CHANGE-TYPE.CREATED 1)
   (COMMON-LISP:DEFPARAMETER FILE-CHANGE-TYPE.CHANGED 2)
   (COMMON-LISP:DEFPARAMETER FILE-CHANGE-TYPE.DELETED 3))
  
  (COMMON-LISP:DEFCLASS WORKSPACE-SYMBOL-CLIENT-CAPABILITIES COMMON-LISP:NIL
                        ((DYNAMIC-REGISTRATION? :INITARG :DYNAMIC-REGISTRATION :DOCUMENTATION "*
  * Symbol request supports dynamic registration.")
                         (SYMBOL-KIND? :INITARG :SYMBOL-KIND :DOCUMENTATION "*
  * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.")))
  
  (COMMON-LISP:DEFCLASS WORKSPACE-SYMBOL-OPTIONS (WORK-DONE-PROGRESS-OPTIONS) COMMON-LISP:NIL)
  
  
negative.code:                       ((DYNAMIC-REGISTRATION? :INITARG :DYNAMIC-REGISTRATION :DOCUMENTATION "*
  * Whether implementation supports dynamic registration for folding range providers. If this is set to `true`
  * the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server
  * capability as well."
                          :TYPE COMMON-LISP:BOOLEAN)
                         (RANGE-LIMIT? :INITARG :RANGE-LIMIT :DOCUMENTATION "*
  * The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
  * hint, servers are free to follow the limit."
                          :TYPE COMMON-LISP:NUMBER)
                         (LINE-FOLDING-ONLY? :INITARG :LINE-FOLDING-ONLY :DOCUMENTATION "*
  * If set, the client signals that it only supports folding complete lines. If set, client will
  * ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange."
                          :TYPE COMMON-LISP:BOOLEAN)))
  
  (COMMON-LISP:DEFCLASS FOLDING-RANGE-OPTIONS (WORK-DONE-PROGRESS-OPTIONS) COMMON-LISP:NIL)
  
  (COMMON-LISP:DEFCLASS FOLDING-RANGE-REGISTRATION-OPTIONS (TEXT-DOCUMENT-REGISTRATION-OPTIONS FOLDING-RANGE-OPTIONS STATIC-REGISTRATION-OPTIONS) COMMON-LISP:NIL)
  
  (COMMON-LISP:DEFCLASS FOLDING-RANGE-PARAMS (WORK-DONE-PROGRESS-PARAMS PARTIAL-RESULT-PARAMS)
                        ((TEXT-DOCUMENT :INITARG :TEXT-DOCUMENT :DOCUMENTATION "*
  * The text document."
                          :TYPE TEXT-DOCUMENT-IDENTIFIER)))
  
  COMMON-LISP:NIL
  
  (COMMON-LISP:DEFCLASS FOLDING-RANGE COMMON-LISP:NIL
                        ((START-LINE :INITARG :START-LINE :DOCUMENTATION "*
  * The zero-based line number from where the folded range starts."
                          :TYPE COMMON-LISP:NUMBER)
                         (START-CHARACTER? :INITARG :START-CHARACTER :DOCUMENTATION "*
  * The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line."
                          :TYPE COMMON-LISP:NUMBER)
                         (END-LINE :INITARG :END-LINE :DOCUMENTATION "*
  * The zero-based line number where the folded range ends."
                          :TYPE COMMON-LISP:NUMBER)
                         (END-CHARACTER? :INITARG :END-CHARACTER :DOCUMENTATION "*
  * The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line."
                          :TYPE COMMON-LISP:NUMBER)
                         (KIND? :INITARG :KIND :DOCUMENTATION "*
  * Describes the kind of the folding range such as `comment` or `region`. The kind
  * is used to categorize folding ranges and used by commands like 'Fold all comments'. See
  * [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds."
                          :TYPE COMMON-LISP:STRING)))
  
  (COMMON-LISP:DEFCLASS SELECTION-RANGE-CLIENT-CAPABILITIES COMMON-LISP:NIL
                        ((DYNAMIC-REGISTRATION? :INITARG :DYNAMIC-REGISTRATION :DOCUMENTATION "*
  * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
  * the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
  * capability as well."
                          :TYPE COMMON-LISP:BOOLEAN)))
  
  (COMMON-LISP:DEFCLASS SELECTION-RANGE-OPTIONS (WORK-DONE-PROGRESS-OPTIONS) COMMON-LISP:NIL)
  
  (COMMON-LISP:DEFCLASS SELECTION-RANGE-REGISTRATION-OPTIONS (SELECTION-RANGE-OPTIONS TEXT-DOCUMENT-REGISTRATION-OPTIONS STATIC-REGISTRATION-OPTIONS) COMMON-LISP:NIL)
  
  (COMMON-LISP:DEFCLASS SELECTION-RANGE-PARAMS (WORK-DONE-PROGRESS-PARAMS PARTIAL-RESULT-PARAMS)
                        ((TEXT-DOCUMENT :INITARG :TEXT-DOCUMENT :DOCUMENTATION "*
  * The text document."
                          :TYPE TEXT-DOCUMENT-IDENTIFIER)
                         (POSITIONS :INITARG :POSITIONS :DOCUMENTATION "*
  * The positions inside the text document."
                          :TYPE (LEM-LSP-MODE/TYPE:LSP-ARRAY POSITION))))
  
  (COMMON-LISP:DEFCLASS SELECTION-RANGE COMMON-LISP:NIL
                        ((RANGE :INITARG :RANGE :DOCUMENTATION "*
  * The [range](#Range) of this selection range."
                          :TYPE RANGE)
                         (PARENT? :INITARG :PARENT :DOCUMENTATION "*
  * The parent selection range containing this range. Therefore `parent.range` must contain `this.range`."
                          :TYPE SELECTION-RANGE)))
  