anchor.diff:  	((@ scene add) reflect-arrow))
         app)
       
  -    (defun add-target (app)
  +    (defun add-target (app &key (imin -90) (imax 90))
         "Add a big red randomly positioned target"
         (with-slots (scene target) app
  -	(let ((inc2 (* 2 (* 5 (random (/ 360 5)) (/ pi 180))))
  +	(let ((inc2 (* (+ (* 2 (+ imin (* 5 (random (1+ (/ (- imax imin) 2 5)))))))
  +		       (/ pi 180)))
   	      (rot (* 5 (random (/ 360 5)) (/ pi 180)))
   	      (dist (+ 20 (random 80)))
   	      (rad 5)
  
positive.code: 	 (let ((init-super ((@ app superior) "init")))
  	   (lambda ()
  	     (funcall init-super)
  	     ((@ sail-position add) absorb-force-arrow)))
  	 update-tilt
  	 (let ((tilt-super ((@ app superior) "updateTilt")))
  	   (lambda ()
  
negative.code:       (let ((app (add-reflect-force (add-animation (add-target (add-reflection (add-tilt (what))))))))
  	(with-slots (camera timefactor) app
  	  ((@ camera position set) -4 -6 6)
  	  (setf timefactor 100))
  	app))
  
      (defun force ()
        (let* ((app-absorb (add-target (absorb-force) :imax -10))
  	     (accelfn-absorb (@ app-absorb accelfn))
  	     (app (add-reflect-force (add-reflection app-absorb)))
  	     (accelfn-reflect (@ app accelfn)))
  	(with-slots (timefactor force-arrow accelfn update-tilt visibility init
  				reflectv normal incidence sail-position) app
  	  (setf
  	   timefactor 100
  	   force-arrow
  	   (new (3fn *arrow-helper
  		     (new (3fn *vector3 0 1 0))
  		     (new (3fn *vector3 0 0 0))
  		     20 0xff0000))
  	   accelfn
  	   (lambda ()
  	     ((@ (funcall accelfn-absorb) add) (funcall accelfn-reflect)))
  	   update-tilt
  	   (let ((tilt-super ((@ app superior) "updateTilt")))
  	     (lambda ()
  	       (funcall tilt-super)
  	       ((@ force-arrow set-direction) normal)
  	       ((@ force-arrow set-length)
  		(* 20 (abs (expt (cos (* incidence (/ pi 180))) 2))))))
  	   visibility
  	   (let ((vis-super ((@ app superior) "visibility")))
  	     (lambda (bool)
  	       (funcall vis-super bool)
  	       (setf (@ force-arrow visible) bool)))
  	   init
  	   (let ((init-super ((@ app superior) "init")))
  	     (lambda ()
  	       (funcall init-super)
  	       ((@ sail-position add) force-arrow)))
  	   ))
  	app))
      ))
  