anchor.diff:               (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
  
positive.code: why]).
  
  [code,scheme]
  ------------------------------------------------------------------
  (define (qs lst)
    (if (empty? lst)
        lst
  
negative.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
  