title: dr racket accumulator help understanding
body: <p>Problem: 
    Design a function that consumes a list of numbers and produces
    a list of every other number in the list. So </p>
  
  <pre><code> (skip1 (list 1 4 2 6 9 5)) produces (list 1 2 9)
  
   (define (skip1 lon0)
  
   (local [(define (skip1 lon i)
          (cond [(empty? lon) empty]
                [else
                 (if (odd? i)  
                     (cons (first lon) 
                           (skip1 (rest lon) (add1 i)))
                     (skip1 (rest lon) (add1 i)))]))]
  (skip1 lon0 1)))
  </code></pre>
  
  <p>Can anyone explain how it works after the function if</p>