anchor.diff:     (workspace-client workspace)
      (make-instance
       'request:initialize-request
  -    :params (make-instance
  -             'protocol:initialize-params
  -             :process-id (utils:get-pid)
  -             :client-info (json:make-json :name "lem" #|:version "0.0.0"|#)
  -             :root-uri (workspace-root-uri workspace)
  -             :capabilities (client-capabilities)
  -             :trace "off"
  -             :workspace-folders (json:json-null)))
  +    :params (apply #'make-instance
  +                   'protocol:initialize-params
  +                   :process-id (utils:get-pid)
  +                   :client-info (json:make-json :name "lem" #|:version "0.0.0"|#)
  +                   :root-uri (workspace-root-uri workspace)
  +                   :capabilities (client-capabilities)
  +                   :trace "off"
  +                   :workspace-folders (json:json-null)
  +                   (when-let ((value (spec-initialization-options (workspace-spec workspace))))
  +                     (list :initialization-options value))))
      :then (lambda (initialize-result)
              (setf (workspace-server-capabilities workspace)
                    (protocol:initialize-result-capabilities initialize-result))
  
positive.code:   :command #'dart-startup-lsp-command
    :mode :stdio)
  
  #|
  Language Features
  - [X] completion
  
negative.code: 
  
  ;;;
  (defgeneric spec-initialization-options (spec)
    (:method (spec) nil))
  
  (defclass spec ()
    ((language-id
      :initarg :language-id
  