anchor.diff:        (gl:uniform size-loc (vec 1 1))
         (gl:uniform color-loc 0.5 0.6 0.7 1)
         (gl:draw-arrays gl:line-strip 0 (cast points-cnt u32))
  +      (gl:bind-buffer gl:array-buffer vbo-circle)
  +      (gl:uniform offset-loc (vec (member circle x) (member circle
  +							    y)))
  +      (gl:uniform size-loc (vec (member circle z) (member circle z)))
  +      (gl:draw-arrays gl:line-strip 0 8)
         (glfw:swap-buffers win)
         (print (- (timestamp) ts) " µs cnt:" points-cnt newline))
   
  
positive.code: 
  (defvar points (cast (alloc0 (* 0 (size-of (type vec2)))) (ptr vec2)))
  (defvar points-cnt (cast 0 u64))
  (add-to-list+ points points-cnt (vec 0 10))
  (add-to-list+ points points-cnt (vec 2 20))
  (add-to-list+ points points-cnt (vec -2 30))
  (add-to-list+ points points-cnt (vec -10 40))
  	  (add-to-list+ points points-cnt (vec 0 50))
  (range it 0 (cast points-cnt i64)
         (print it (deref (ptr+ points it)) newline))
  (print points-cnt newline)
  
negative.code: (defvar new-pos (vec 0 0))
  (defvar cam-pos (vec 0 50))
  (defvar cam-size (vec 100 100))
  (defvar circle (vec 50 30 10))
  (let ((iteration 0)
        (speed 1.0))
    (while (< iteration 4000)
      (let ((ts (timestamp)))
        (let ((lastpt (deref (ptr+ points (cast (- points-cnt 1) i64)))))
  	(add-to-list+ points points-cnt 
  		      (+ lastpt (* player-dir speed)))
  	(let ((turn (if (or (glfw:get-key win glfw:key-a)
  			    (glfw:get-key win glfw:key-left))
  			1.0
  