anchor.diff:    (transfer-selected-properties 
      parent child 
      (set-difference (collect-keys (properties child))
  -		   (list :footnote :style-sheet :style-sheets :title))))
  +		   (list :footnote :style-sheet :style-sheets :title)))
  +  (transfer-document-metadata parent child))
  +
  +(defun transfer-document-metadata (parent child)
  +  (iterate-key-value 
  +   (metadata child)
  +   (lambda (key value)
  +;     (print (list :p (item-at-1 (metadata parent) key)
  +;		  :c value))
  +     (aif (item-at-1 (metadata parent) key)
  +	  (setf (item-at-1 (metadata parent) key) (merge-entries it value))
  +	  (setf (item-at-1 (metadata parent) key) value)))))
  +
   
   (defun transfer-selected-properties (parent child properties)
     (let ((*current-document* parent))
  
positive.code: on the other hand, will automatically combine the link information and
  processes it automatically.
  "
    (let ((main-document (make-instance 'document))
  	(docs nil))
      (setf docs
  	  (loop for datum in pairs collect
  	       (bind (((source destination &rest doc-args) datum))
  		 (format t "~&Parsing: ~s~%" source)
  		 (list (apply #'markdown source
  			      :parent main-document
  			      :format :none (merge-arguments args doc-args))
  		       destination))))
  
negative.code: 				  ,@*render-active-functions*)
  				*render-active-functions*)))))
  	   (render-to-stream doc format destination)))
      (setf (children main-document) (mapcar #'first docs))
      (values main-document docs)))
  
  (defun merge-arguments (args-1 args-2)
  