anchor.diff:    ()
     #.(asdf:system-relative-pathname :my-project \"api.json\")).
   
  -IMPORTANT:
  -1) All operations in OpenAPI spec need to have a tag, in camel case, that is translated to a REST-SERVER api operation. For example: 'createUser', gets translated to CREATE-USER entry point in REST-SERVER api.
  -2) Operations in OpenAPI spec need to be tagged with a name for the resource. This is because REST-SERVER is designed based on an old version of Swagger API that groups operations in resources. But OpenAPI v3 does not group in resources, it just has paths. So, the tagging is needed for the OpenAPI -> REST-SERVER api translation. For example, if you have two paths, /invoice/{id}, and /invoice/{id}/payments, you should tag them both with 'Invoice', so that both operations are created under an INVOICE resource.
  -
  -Use this together with DEFINE-SCHEMAS-FROM-SPEC
  -"
  +IMPORTANT: All operations in OpenAPI spec need to have a tag, in camel case, that is translated to a REST-SERVER api operation. For example: 'createUser', gets translated to CREATE-USER entry point in REST-SERVER api.
  +
  +Use this together with DEFINE-SCHEMAS-FROM-SPEC "
     (let ((spec (read-spec-file filepath)))
       (define-api-from-v3-spec name superclasses options spec)))
   
  
positive.code:     (let ((security (mapcar (alexandria:compose 'parse-authorization
                                                  'caar)
                              (-> args "security"))))
        `(,(symbolicate (-> args "operationId"))
          (:request-method ,(alexandria:make-keyword (string-upcase method))
           :produces (:json)
  
negative.code:      :timestamp)
      (t (alexandria:make-keyword (string-upcase (-> param "schema" "type"))))))
  
  (defun collect-resources-by-path (spec)
    (loop for path in (alist (-> spec "paths"))
          collect
          (cons (symbolicate (first path))
                (loop for operation in (alist (cdr path))
                      when (member (car operation) '("get" "post" "put" "patch" "delete") :test 'equalp)
                        collect
                        (cons (car path) operation)))))
  
  (defmacro define-api-from-spec (name superclasses options filepath)
    "Defines a REST SERVER api from an OpenAPI version 3 file.
  