anchor.diff:        (dolist (visualizer (list-visualizers))
           (entry (identifier visualizer))))))
   
  +(define-api visualizer/remove (visualizer) ()
  +  (unless (visualizer visualizer)
  +    (error "No such visualizer ~s" visualizer))
  +  (remove-visualizer visualizer)
  +  (with-api-output ("Visualizer removed.")
  +    (json-null)))
  +
   (define-api source (source) ()
     (let ((source (or (source source)
                       (error "No such source ~s" source))))
  
positive.code:           :allow-missing-time-part NIL
            :allow-missing-timezone-part T))
  
  (define-api visualizer (visualizer) ()
    (let ((visualizer (or (visualizer visualizer)
                          (error "No such visualizer ~s" visualizer))))
  
negative.code:     (with-json-array ()
        (dolist (source (list-sources))
          (entry (identifier source))))))
  
  (define-api source/remove (source) ()
    (close-source (or (source source)
                      (error "No such source ~s" source)))
    (with-api-output ("Source removed.")
      (json-null)))
  
  (define-api source/channel (source channel) ()
    (let* ((source (or (source source)
  