title: Scheme/Racket: Fold with booleans
body: <pre><code>(foldr + 0 '(1 2 3 4))
  </code></pre>
  
  <p>returns <code>10</code> which is what I expect, but</p>
  
  <pre><code>(foldr and false '(true true false))
  </code></pre>
  
  <p>gives me the error</p>
  
  <pre><code>and: expected an open parenthesis before and, but found none
  </code></pre>
  
  <p><code>foldr</code> takes a function (which takes two parameters, since I have one list), and a base case, and a list(s). I expect my second line of code to return true if the list has more than zero booleans and they are all true, and that is how I thought it would work. But apparently not.</p>