anchor.diff:                     :dy dy
                      :max-speed (sqrt (* 2 (+ (abs (* +g-constant+ (- y radius)))
                                               (* 0.5 dy dy))))
  -                   :color (random-color)))))
  +                   :color color
  +                   :current-color color))))
       (do ((ball (make-ball) (make-ball)))
           ((in-bounds-p ball) ball))))
   
  
positive.code:   (incf (getf ball :y) (* (getf ball :dy) +time-step+))
    (when (< (getf ball :y) (getf ball :radius))
      (setf (getf ball :dy) (getf ball :max-speed))
      (setf (getf ball :y) (getf ball :radius))))
  
  (defun draw-ball (ball cr)
    (apply #'cairo-set-source-rgb (cons cr (getf ball :color)))
    (cairo-arc cr (getf ball :x) (- +canvas-height+ (getf ball :y))
               (getf ball :radius) 0 (* 2 pi))
    (cairo-fill cr)
  
negative.code: 
  (in-package :bounce)
  
  (defparameter +num-balls+ 100)
  
  (defparameter +canvas-width+ 800)
  (defparameter +canvas-height+ 600)
  