anchor.diff:                                           (alexandria:hash-table-alist types))
                                           'string< :key 'car)
             for members = (getf (cddr attribs) :members)
  -          do
  -             (format out "(defc~(~a~) ~(~a~)" (first attribs)
  +          do (format out "(defc~(~a~) ~(~a~)" (first attribs)
                        (fix-type-name name))
                (format out "~{~%  ~1{(:~(~a ~s)~^#||~@{~a~^ ~}||#~)~}~}"
                        members)
  -             #++(loop for ((mn . mt) . more) on members
  -                   for comment = (getf (cdr v) :comment)
  -                   do (format out ""
  -                              (string-trim '(#\-) (fix-bit-name k :prefix prefix))
  -                              (minusp (first v)) (first v))
  -                   unless more
  -                     do (format out ")")
  -                   when comment
  -                     do (format out " ;; ~a" comment))
  -                (format out "~:[)~;~]~%~%" nil))
  -
  -    )
  +             (format out "~:[)~;~]~%~%" nil)))
   
     ;; todo: write functions file
   
  
positive.code:                               :members members
                                (when comment (list :comment comment))))))
            (t
             (error "unknown type category ~s for name ~s~%" category (or name @name)))))))
  
  ;;; enums*
    (xpath:do-node-set (node (xpath:evaluate "/registry/enums" vk.xml))
  
negative.code:                       :errors (kw-list errorcodes
                                         :translate 'make-const-keyword)
                        :queues (kw-list queues)
                        :command-buffer-level (kw-list cmdbufferlevel)))))))
  
  ;;; TODO: feature
  ;;; TODO: extensions
  