anchor.diff:  why]).
   
   [code,scheme]
  -------------------------------------------------------------------
  +----
   (define (qs lst)
     (if (empty? lst)
         lst
  
positive.code:              (smaller (qs (for/list ((i tl) #:when (<= i hd)) i)))
               (larger (qs (for/list ((i tl) #:when (> i hd)) i))))
           (flatten (cons smaller (cons hd larger))))))
  ------------------------------------------------------------------
  
  So clearly, it's not exactly the _recursion_ that makes the example so
  cool. No, what makes the Haskell version cool is when you realize what
  
negative.code:              (smaller (qs (for/list ((i tl) #:when (fun i hd)) i)))
               (larger (qs (for/list ((i tl) #:when ((negate fun) i hd)) i))))
          (flatten (cons smaller (cons hd larger))))))
  ----
  
  Now our Racket quicksort has become a higher-order function, and must be
  passed the less-than function it will use to find _smaller_ as well as
  