org babel for scheme

brew install guile
  (straight-use-package 'geiser)
  (leaf geiser
    :config
    (setq geiser-active-implementations '(guile)))
  (org-babel-do-load-languages
   'org-babel-load-languages
   `(
     ;; ...
     (scheme . t)))
  (define (cons x y)
    (define (dispatch m)
      (cond ((= m 0) x)
            ((= m 1) y)
            (else (error "Argument not 0 or 1: CONS" m))))
    dispatch)

  (define (car z)
    (z 0))

  (define (cdr z)
    (z 1))

  (display (car (cons 1 2)))
  (newline)
  (display (cdr (cons 1 2)))