Scheme (lisp-1) absolutely does not care if you name things in a way that shadows an "official" name, because names are namespaced, not just a dirty hack attacked to a symbol as in Common Lisp (lisp-2).
>> (define (lisp-1 list when)
(let next ((list list) (then '()))
(if (null? list) (reverse then)
(next (cdr list) (cons (when (car list)) then)) )))
> (lisp-1 '(1 2 3) add1)
(2 3 4)
#lisp #scheme #lispyGopherClimate
(I'm not saying "do this", but it's not a problem.)







