That’s a really great question. I think it is very common for people to use keywords all over the place. But in my experience, people soon regret having the structure of their data spread all over the codebase. It is far better to name a function that extracts the data, even if it is only a single keyword. It helps your code last longer and be more readable.
Just as a bit of support for this, I like to refer to Structure and Interpretation of Computer Programs. Such a great book for so many reasons.
When they’re defining the interpreter, look how many functions they define that are simply defining the structure of the syntax. Here are a few examples:
(define (variable? exp) (symbol? exp))
(define (definition? exp)
(tagged-list? exp 'define))
(define (if? exp) (tagged-list? exp 'if))
(define (if-predicate exp) (cadr exp))
(define (if-consequent exp) (caddr exp))
My rule of thumb is: if you’re adding meaning, give it a new name.