anchor.diff:  
       (defun add-reflection (app)
         "Add a box showing the reflected sunlight"
  -      (with-slots (absorbed normal incident reflectv reflection reflect-arrow mirror corners reflect-arrow tilt-update-fn origin scene visibility) app
  +      (with-slots (absorbed normal incident reflectv reflection reflect-arrow mirror corners update-tilt origin scene visibility sail) app
   	(unless mirror (add-mirror app))
   	(unless corners (add-corners app))
  -	(setf normal (normal mirror)
  -	      incident (incident)
  +	(setf incident (incident))
  +	(setf normal (normal sail)
   	      reflectv (reflectv incident normal)
   	      reflection (reflection corners reflectv)
   	      reflect-arrow (new (3fn *arrow-helper reflectv origin 9 0xffff00))
  
positive.code: 	      (when (> incidence 180)
  		(setq incidence (- incidence 360)))
  	      (setq absorbed (calc-absorbed incidence))
  	      (funcall update-tilt))
  	 down (lambda ()
  		((@ sail rotate-z) (/ pi -36))
  		(decf incidence 5)
  		(when (< incidence -180)
  		  (setq incidence (+ 360 incidence)))
  		(setq absorbed (calc-absorbed incidence))
  		(funcall update-tilt))
  	 left (lambda ()
  		(rotate-global-y sail (/ pi 36))
  		(decf rotation 5)
  		(when (< rotation -180)
  		  (setq rotation (+ 360 rotation)))
  		(funcall update-tilt))
  	 right (lambda ()
  		 (rotate-global-y sail (/ pi -36))
  		 (incf rotation 5)
  		 (when (> rotation 180)
  		   (setq rotation (- rotation 360)))
  		 (funcall update-tilt)))
  	;; Arrow key events
  	((@ ($ (@ document body)) keydown)
  	 #'(lambda (e)
  
negative.code:       "Reflected light on a sail app"
        (add-target (add-reflection (absorb))))
  
      (defun absorb-force ()
        (let ((app (absorb))
  	    (vel 0)
  	    (pos 0)
  	    (elapsed 0)
  	    (timefactor 10)
  	    (time false))
  	(with-slots (sail pause scene mirror corners projection absorb-arrow controls render toggle-pause update-anim animate init incidence update-tilt render) app
  	  (setf
  	   pause false
  	   toggle-pause
  	   (lambda (e)
  	     (let ((pause-html ($ "#pause")))
  	       (if pause
  		   (progn
  		     (setf pause false)
  		     (setf (@ pause-html 0 inner-h-t-m-l) "Pause"))
  		   (progn
  		     (setf pause t)
  		     (setf (@ pause-html 0 inner-h-t-m-l) "Continue")))))
  	   init
  	   (let ((init-super ((@ app superior) "init")))
  	     (lambda ()
  