title: `or...equal`? clause and list membership check not returning the same results?
body: <p>I am working through the <a href="https://beautifulracket.com/stacker/the-expander.html" rel="nofollow noreferrer">Beautiful Racket stacker tutorial</a> and while coding an expander I have the following bit of code from the tutorial that works</p>
  
  <pre><code>(define (handle [x #f])
    (cond
      [(number? x) (push-stack! x)]
      [(or (equal? * x) (equal? + x))
       (push-stack! (x (pop-stack!) (pop-stack!)))]))
  </code></pre>
  
  <p>I see that <code>or</code> expression and think "oh, I can clean that up with a list membership check" so then I try</p>
  
  <pre><code>(define (handle [x #f])
    (cond
      [(number? x) (push-stack! x)]
      [(member x '(+ *))
       (push-stack! (x (pop-stack!) (pop-stack!)))]))
  </code></pre>
  
  <p>and find that doesn't work at all - that <code>cond</code> branch never runs.</p>
  
  <p>To the best of my understanding this should work...so clearly my understanding is wrong. What am I missing?</p>