anchor.diff:  
   It's recommended to use the `nyxt-user' package instead to create new functions,
   modes, commands, etc."))
  +#+sb-package-locks
  +(sb-ext:lock-package :nyxt)
   
   (in-package :nyxt)
   (defvar *imports* '((:trivia :match :multiple-value-match :lambda-match :guard)
  
positive.code:          (options (remove :use (remove :import-from options :key #'first)
                            :key #'first)))
      `(progn
         (uiop:define-package ,name
           ,@uses
           ,@imports
           ,@options)
         (nyxt::use-nyxt-package-nicknames ',name))))
  
  (deftype class-symbol ()
    `(and symbol (satisfies find-class)))
  
negative.code: 
  ;; Some compilers (e.g. SBCL) fail to reload the system with `defpackage' when
  ;; exports are spread around.  `uiop:define-package' does not have this problem.
  
  #+sb-package-locks
  (serapeum:eval-always
    (when (find-package :nyxt)
      (sb-ext:unlock-package :nyxt)))
  
  (uiop:define-package nyxt
    (:use #:common-lisp)
  