title: Expects 2 arguments but found only 1
body: <p>I am doing a practice question where it asks to define a function that is supposed to produce all elements in a list, loi, that can be divided by 3 or a natural number, mult, but not both.</p>
  
  <p>Below is my code:</p>
  
  <pre><code>(define (keep-multiples-of-three-or loi mult)
    (cond
      [(empty? loi) empty]
      [else (cond [(empty? loi) empty]
                  [(and (not (equal? 3 mult)) 
                        (or (equal? (remainder (first loi) 3) 0)
                            (equal? (remainder (first loi) mult) 0)))   
                   (first loi)]           
                  [else (keep-multiples-of-three-or (rest-loi) 
                                                    mult)]))]))
  
  </code></pre>
  
  <p>for <code>(keep-multiples-of-three-or (cons 9 (cons 3 empty)) 3)</code> 
  the error message says: <code>cons expects 2 arguments but found only 1</code>.</p>
  
  <p>I don’t know what is wrong here. Can somebody help me?</p>