title: How can I properly identify an identifier?
body: <p>I was thinking any of the following</p>
  
  <blockquote>
    <p>(define (ID? x)
    (symbol? x))</p>
  </blockquote>
  
  <p>Say I have the following</p>
  
  <blockquote>
    <p>(define list '(add 4 5))</p>
  </blockquote>
  
  <p>I want to simply check if "add" is an identifier or keyword.
  So I was considering the following</p>
  
  <blockquote>
    <p>(define (ID? x)
    (char? x))</p>
  </blockquote>
  
  <p>I was even considering an <code>and</code> conditional</p>
  
  <blockquote>
    <p>(define (ID? x)
    (and (char? x)(symbol? x))</p>
  </blockquote>
  
  <p>But my issue is that for symbol it'll take things such as <code>@</code></p>
  
  <p>and for the <code>char</code>? approach it won't accept identifiers with more than one character.</p>
  
  <p>the and approach makes no sense. I'm working off a list so I don't believe <code>(string? x)</code> will work since it'll consider the whole list.
  Any suggestions would be great. THANK YOU!</p>