anchor.diff:        expressions))
     
     (let ((expressions (load-file filename)))
  -    (=> expressions
  -        lint:analyze-for-set
  -        lint:analyze-for-bugged-let
  -        lint:analyze-for-bugged-do
  -        lint:analyze-for-single-clause-ifs)))
  +    (flatten* (map (lambda (f) (f expressions))
  +                   (list lint:analyze-for-set
  +                         lint:analyze-for-bugged-let
  +                         lint:analyze-for-bugged-do
  +                         lint:analyze-for-single-clause-ifs)))))
  
positive.code: (define (lint:analyze-for-bugged-do expressions)
  
    (define (back-reference-found? expr previous-bindings)
      (format #t "e: ~A b: ~A~%" expr previous-bindings)
      (cond ((nil? expr)
             #f)
            ((atom? expr)
  
negative.code:       (if (back-reference-found? (cadar bindings) previous-bindings)
            (set! errors (cons (format #f "Back reference in a LET: ~A" (caar bindings)) errors)))))
    
    (remove nil? (flatten* (map (lambda (ex)
                                  (expression-crawler ex
                                                      (lambda (e) (eq? (car e) 'let))
                                                      analyze-let-bindings
                                                      (lambda (e) ((if (symbol? (cadr e)) cdddr cddr) e))
                                                      (lambda (e) ((if (symbol? (cadr e)) caddr cadr) e))
                                                      '()))
                                expressions))))
  
  