anchor.diff:  "
     (inverse x))
   
  -;; (defun |vec_y| (x)
  -;;   (vec-y x))
  -
  -;; (defun |vec_z| (x)
  -;;   (vec-z x))
  -
   ;;;;;;;;;;;;;;;;;
   ;;; Subscript ;;;
   ;;;;;;;;;;;;;;;;;
  
positive.code:     rotation(tf2(1, [1,2,3])) =>
          #S(AMINO:QUATERNION :DATA #(0.0d0 0.0d0 0.0d0 1.0d0))
  
  "
    (rotation transform))
  
  
negative.code: (in-package |aminopy|)
  
  (defmacro def-attr-accessor (((object type) attr) &body body)
    `(defmethod clpython::attr-hook ((,object ,type) (attr (eql ',(intern (string attr)
                                                                          :clpython.user))))
       ,@body))
  
  (defmacro def-subs-accessors (type &body things)
    (with-gensyms (object name)
      `(progn (defmethod clpython:py-subs ((,object ,type) ,name)
                (cond ,@(loop for (key function) in things
                           collect `((string= ,name ,key)
                                     (,function ,object)))))
              ,@(loop for (key function) in things
                     collect
                     `(def-attr-accessor ((,object ,type) ,key)
                        (,function ,object))))))
  
  ;;;;;;;;;;;;;;;;
  ;; Transforms ;;
  