anchor.diff:  (defun static-priority (vector priority)
     (p2dm:vector-of-length vector priority))
   
  -(defun lerp-priority (vector factor &optional (min-priority +behaviour-priority-min+) (max-priority +behaviour-priority-max+))
  -  (p2dm:vector-of-length vector (alexandria:lerp factor min-priority max-priority)))
  +(defun linear-repulsion (radius distance)
  +  (float (clamp (/ (- radius distance) radius) 0 1)))
  +
  +(defun aggressive-repulsion (radius distance)
  +  ;; TODO figure it out and make it work.
  +  )
   
   (defun make-default-boid-behaviours ()
     (list (lambda (boid world)                 ; cohesion
  
positive.code:          (too-close-cnt (length too-close)))
  
      (if (> too-close-cnt 0)
          (static-priority (ddv (entity-position boid)
                                (p2dm:subtract-vectors (entity-position boid)
                                                       (p2dm:scaled-vector (reduce #'p2dm:add-vectors too-close :key #'entity-position)
                                                                           (/ 1.0 too-close-cnt)))
                                :separation)
                           1.0)
          (p2dm:make-vector-2d))))
  
  (defun avoid-walls (boid)
  
negative.code:                               (p2dm:scaled-vector (reduce #'p2dm:add-vectors boids :key #'entity-velocity)
                                                    (/ 1.0 boids-cnt))
                                :alignment)
                           0.3)
          (p2dm:make-vector-2d))))
  
  (defun separate (boid all-boids)
  