When I run this code:

#+BEGIN_SRC scheme :session ch1 :exports both
(define (check-it x)
  (cond
    ((string? x) (string-length x))
    ((number? x) (if (<= x 0) x (sub1 x)))
    ((boolean? x) (if (and #t x) 10 20))
    (else #f)))
#+END_SRC

I get this error message:

org-babel-scheme-execute-with-geiser: Invalid read syntax: "#"

But the Chicken Scheme session has accepted the check-it function just fine. A stand-alone csi REPL works fine, too. Why, then, do I get this cryptic error?

LB