I would like to program a Shift or Caesar cipher in Scheme, but not using strings. I would like to use a list instead:

```
(define message '(T H E F O X))
(define k 4)
(define A(char->integer #\A))
(define Z(char->integer #\Z))

(define (cipher message)
  (if (empty? message)
      '()
      (begin
        (display ((+ (char->integer (car message)) k))->char)
        (cipher (cdr message))
        )
      ))

(define (helper)
  (cipher message))

```

I know that is missing the part in which I should use modulo and compare with the limits of A and Z, but the question that I have is how to convert (car message) into a char and then into an integer so I can add the value of k; and then convert it back from integer to char to display its value.

I have found solutions based on strings and map, but how to do it only using a list and with conversions like the above?

Thanks in advance