anchor.diff:  	 mirror (chain -code-mirror (from-text-area (by-cell-id cell-id ".cell-contents") options))
   	 (@ cell editor) mirror)
   	(chain 
  -	 mirror (on :change 
  -		    (debounce
  -		     (lambda (mirror change)
  -		       (when (= "+input" (@ change origin))
  -			 (change-cell-contents cell-id (cell-editor-contents cell-id))))
  -		     4000)))
  +	 mirror (on :change (debounced-save cell-id 4000)))
   	mirror))
   
       ;; Notebook-related
  
positive.code: 	(chain r (select-node-contents elem))
  	(chain window (get-selection) (add-range r))))
  
      ;; cl-notebook specific DOM manipulation
      (defun display-book (book-name)
        (when book-name
  
negative.code:     ;; basic DOM/event stuff
      (defun dom-ready (callback)
        (chain document (add-event-listener "DOMContentLoaded" callback)))
  
      (defun prevent (ev) (chain ev (prevent-default)))
  
  