(define (rotate-char in amount lower upper) (let ((in (char->integer in)) (lower (char->integer lower)) (upper (char->integer upper))) (integer->char (if (within? in lower upper) (begin (set! in (+ in amount)) (wrap-range in lower upper) in)))))