anchor.diff:  
   
   '(flet ((button-control ()
  -			(declare (special use-js-file))
  -			(use-js-file 'behaviour)
  -			(list (xhtml:button '(:label "Fuck"))
  -					(xhtml:button '(:label "You")))))
  +	 (declare (special use-js-file))
  +	 (use-js-file 'behaviour)
  +	 (list (xhtml:button '(:label "Fuck"))
  +	       (xhtml:button '(:label "You")))))
     (write-document
  -	(with-document
  -	  (js-insertion-block ( #'xhtml-script-tag)
  -		 (use-js-file 'grid)
  -		 (xhtml:html
  -		  '()
  -		  (xhtml:head
  -			'()
  -			(xhtml:div '() "above")
  -			insert-script-here
  -			(xhtml:div '() "below")
  -			)
  -		  (xhtml:body
  -			'()
  -			(xhtml:div
  -			 '()
  -			 (use-js-file "js/initgrid.js")
  -			 (button-control))))
  -		 (xul:window '(:id "fuck")
  -						 (js-insertion-block (#'xul-script-tag)
  -							  (xul:button '(:label "fuck"))
  -							  insert-script-here
  -							(xul:button '(:label "you"))
  -							(use-js-file "js/fuck your mom in her dirty ass")))))))
  +   (with-document
  +     (js-insertion-block ( #'xhtml-script-tag)
  +       (use-js-file 'grid)
  +       (xhtml:html
  +	'()
  +	(xhtml:head
  +	 '()
  +	 (xhtml:div '() "above")
  +	 insert-script-here
  +	 (xhtml:div '() "below")
  +	 )
  +	(xhtml:body
  +	 '()
  +	 (xhtml:div
  +	  '()
  +	  (use-js-file "js/initgrid.js")
  +	  (button-control))))
  +       (xul:window '(:id "fuck")
  +		   (js-insertion-block (#'xul-script-tag)
  +		     (xul:button '(:label "fuck"))
  +		     insert-script-here
  +		     (xul:button '(:label "you"))
  +		     (use-js-file "js/fuck your mom in her dirty ass")))))))
   
   		
positive.code: (defun get-url-from-key (key js-dependency-graph)
    "gets the url for a key reguardles of whether it is a symbol or url (assuming it is in the graph)"
    (if (stringp key) key
  		(let ((it (find-graph-node key js-dependency-graph)))
  		  (when it
  			 (js-graph-node-url it)))))
  
  (defun creates-circular-dependency-p (key dep-list js-dependency-graph &optional visited-list)
    "checks if inserting into key into a js-dependency-list will cause a unseemly circular relationships to the beautiful dependency graph.  And you wouldnt want thatn now would you"
    (let ((key-url (get-url-from-key key js-dependency-graph)))
  	 (when key-url
  		(or (find key-url visited-list :test #'equal)
  			 (progn
  				(push key-url visited-list)
  				(some
  				 (lambda (elem)
  					(let ((graph-node (find-graph-node elem js-dependency-graph)))
  					  (when graph-node
  						 (creates-circular-dependency-p (js-graph-node-url graph-node)
  																  (js-graph-node-dependency-list graph-node)
  																  js-dependency-graph
  																  visited-list))))
  				 dep-list))))))
  
  (defun add-graph-node (key val js-dependency-graph)
    (if (creates-circular-dependency-p key (js-graph-node-dependency-list val) js-dependency-graph)
  		(error "Insertion will lead to a circular dependency graph ~% key:~a~%graph:~a" key js-dependency-graph )
  		(setf (gethash key js-dependency-graph) val)))
  
  (defun make-js-collector ()
    "small quicky alias for make-instance 'js-collector)"
  
negative.code: 
  (defclass js-collector ()
    ((urls
      :initarg :urls
      :accessor urls
      :initform '()
      :documentation "a list that stores what urls are needed")
     (snippets :initarg :snippets
  	     :accessor snippets
  	     :initform nil
  	     :documentation "A list of snippet strings that should be put in a script block.")))
  
  (defun find-graph-node (key js-dependency-graph)
    "retrieves a graph-node from the js-dependency-graph based on a symbol or url"
  