anchor.diff:  	   (,v (q:from-axis-angle (v! ,x ,y ,z) (d->r ,w))))
          (if ,in-place
   	   (setf (rotation ,tthis) ,v)
  -	   (rotate ,tthis ,v)))))
  +	   (rotate ,tthis ,v))
  +       ,tthis)))
   
   (defmethod translate ((this node) trans &key (modify t))
     "Translate the node. Takes a vector3."
  
positive.code:       (setf (scaling this) 
  	    (v:* size (scaling this)))
        (v:* size (scaling this))))
  
  (defmacro !s (this x y z &optional in-place)
    (let ((tthis (gensym))
  
negative.code:   (setf (slot-value this 'r-matrix) nil)
    (setf (slot-value this 's-matrix) nil)
    (setf (slot-value this 's-matrix) nil)
    (setf (slot-value this 'transform) nil)
    this)
  
  (defmethod reset-translation ((this node))
    (setf (slot-value this 't-matrix) nil
  	(translation this) v0)
    this)
  
  (defmethod reset-rotation ((this node))
    (setf (slot-value this 'r-matrix) nil
  	(rotation this) (q:identity))
    this)
  
  (defmethod reset-scaling ((this node))
    (setf (slot-value this 's-matrix) nil
  	(scaling this) vi)
    this)
  
  
  (defmethod print-object ((this node) s)
  