anchor.diff:  			 ((unexpr operator) (member a y) (member b y)))
   		   out))
   	       (overload (unexpr operator) (unexpr name))))))
  -      (print-expr r)
  -      (printstr "\n")
         r)))
   (vec2op *)
   (vec2op +) (vec2op /) (vec2op -)
  
positive.code: 
  
  (defmacro vec2op (operator)
    (let ((name (symbol2expr (symbol-combine (quote vec2) (expr2symbol operator)))))
      (let ((r (expr
  	     (progn
  	       (defun (unexpr name) (vec2 (a vec2) (b vec2))
  
negative.code: (setf (member mat4-eye m33) 1)
  
  (defmacro matop (op)
    (let ((fcn-name (expr (mat4 (unexpr op)))))
      (expr 
       (progn
         (defun (unexpr fcn-name) (mat4 (a mat4) (b mat4))
  