anchor.diff:  
   
   ;; hash so we can querry (gethash :hero *dynamic-rectangles)
  +;; TODO: downside transition from hashtable to ffi-array
  +;;       workaround: store as array, and create a hashtable to associate name with index:
  +;;       (aref *dynamics-array* (gethash 'name *hash*)) ;<- abstracted away
  +;;       This sounds so general I bet there must be a solution out there already
  +;;       but this is premature optimization, MAPHASH shall suffice for now to get the values
  +;; CLRHASH to clear the hashtable!
   (defvar *dynamic-rectangles* (make-hash-table)
     "Rectangles that change often, like game objects and animations")
   (defvar *static-rectangles* (make-hash-table)
  
positive.code:    (x2 :initarg :x2 :type vec2)
     (y1 :initarg :y1 :type vec2)
     (y2 :initarg :y2 :type vec2)))
  
  (defun make-rectangle (&optional
  			 (x 0.0)
  
negative.code: 	   rectangle-hash-map))
  
  (defun add-rectangle-as (name rectangle &key (as :dynamic))
    (let ((rectangles-container
  	 (ecase as
  	   (:dynamic *dynamic-rectangles*)
  	   (:static *static-rectangles*))))
      (multiple-value-bind (value set?) (gethash name rectangles-container)
        (declare (ignore value))
        (when set?
  	(warn "The value under key: ~a was already set." name)))
      (setf (gethash name rectangles-container) rectangle)))
  
  
  