anchor.diff:  	(eql (chain -object prototype to-string (call obj)) type-string))
         (defun object? (obj) (type? obj "[object Object]"))
   
  +      (defun join (strings &optional (separator "")) (chain strings (join separator)))
  +
         (defun encode (string)
   	(encode-u-r-i-component string))
  +     
  +      (defun string->obj (string)
  +	(chain -j-s-o-n (parse string)))
   
         (defun obj->string (object)
  -	(chain -j-s-o-n-s (stringify object)))
  +	(chain -j-s-o-n (stringify object)))
   
         (defun obj->params (object)
   	(let ((res (new (-array))))
  
positive.code: 
        (defun by-selector (selector)
  	(chain document (query-selector selector)))
  
        (defun by-selector* (selector)
  	(chain document (query-selector-all selector)))
  
negative.code:   (ps (dom-ready 
         (lambda ()
  	 (chain console (log "something!"))
  	 (let ((repl (by-selector ".cell")))
  	   (chain repl (add-event-listener 
  			:keydown (lambda (event)
  				   (when (and (@ event ctrl-key) (= 13 (@ event key-code)))
  				     (post "/eval" (create :thing (@ this value))
  					   (lambda (raw) 
  					     (let ((res (string->obj raw)))
  					       (chain console (log res))
  					       (dom-set (by-selector ".result") 
  							(join 
  							 (loop for r in (@ res :result)
  							    for out = (if (object? r) (obj->string r) r)
  							    for tp in (@ res "resultType")
  							    collect (who-ps-html (:p out (:span :class "type" " :: " tp))))))))))))))))))
  
  (defvar *server* (bt:make-thread (lambda () (start 4242))))
  