anchor.diff:  (defun update-player(void (data (ptr void)))
     (while true
       (unless (vec2-eq player-pos new-pos)
  -      (print "ok")
         (let ((x (cast (member new-pos x) i64))
   	    (y (cast (member new-pos y) i64)))
         
  
positive.code: (defun ccwait(void (seconds f64))
    (let ((start (timestamp)))
      (let ((end (+ start (cast (* 1000000 seconds) i64))))
        (while (< (timestamp) end)
  	(ccyield)))))
  
  (defvar offsets (cast (alloc (* (size-of (type vec2)) 16)) (ptr vec2)))
  
negative.code:     (gl:uniform color-loc 1 1 1 1)
      (for row (max 0 cam-top) (<= row (min cam-bottom tiles-height)) (i64+ row 1)
  	 (for col (max 0 cam-left) (<= col (min cam-right tiles-width)) (i64+ col 1)
  	      (let ((fx (cast col f32))
  		    (fy (cast row f32)))
  		(let ((tile (deref (get-tile col row))))
  		  (unless (eq 0 tile)
  		    (gl:uniform color-loc 1 1 0 1)
  