anchor.diff:  
   ;; Checks this is a list and is empty
   (defun nil? (li) (= (# li) 0))
  +
  +;; Removes nils (i.e. '(), not nil) from a list
  +(defun prune (li)
  +  (filter (lambda (x) (! (null? x))) li))
   
   ;; Perform an action for every entry in the list
   (defmacro for-each (var lst &body)
  
positive.code:   (for i (# li) 1 -1
      (set! accum (fn (get-idx li i) accum)))
    accum)
  
negative.code:               gensym get-idx set-idx! list
                = > + -))
  (import base)
  (import types (assert-type! null? eq?))
  
  (defun nth (li idx)
    (assert-type! li "list")
  