anchor.diff:    (opts:describe)
     (uiop:quit))
   
  -(defun parse-cli-args ()
  -  "Parse command line arguments."
  -  (opts:define-opts
  +(opts:define-opts
       (:name :help
              :description "Print this help and exit."
              :short #\h
  
positive.code: This is the entry point of the binary program.
  Don't run this from a REPL, prefer `start' instead."
    (multiple-value-bind (options free-args)
        (parse-cli-args)
      (setf *keep-alive* nil)             ; Not a REPL.
      (in-package :nyxt-user)
      (apply #'start options free-args)))
  
  (declaim (ftype (function (trivial-types:pathname-designator &key (:package (or null package))))
                  load-lisp))
  
negative.code:         (uiop:quit))))
  
  (export-always 'start)
  (define-function start `(urls &rest options
                                &key ,@(mapcar (alex:compose #'intern
                                                             #'symbol-name
                                                             #'opts::name)
                                               opts::*options*))
    "Start the browser, loading URLs if any.
  URLs is a list of strings.
  The OPTIONS are the same as the command line options.
  
  Examples:
  
  - Display version and return immediately:
    (nyxt:start :version t)
  
  - Start the browser with increased verbosity, a different history data path and
    open the given URLs.
    (nyxt:start '(\"https://nyxt.atlas.engineer\" \"https://en.wikipedia.org\")
                :verbose t :with-path '(\"history\" \"/tmp/nyxt/history.lisp\"))"
    ;; Options should be accessible anytime, even when run from the REPL.
    (setf *options* options)
  
  