Hi, I'm new with Scheme and new with org babel so excuse me if I am missing something obvious. I have this bit of (simplified) Scheme code to generate a list of lists: #+name: chromatic #+begin_src scheme :noweb yes (map (lambda (x) (cond ((< x 4) (list 0 1)) ((equal? x 4) (list 2 0)) ((> x 4) (list 1 1)))) (list 0 1 2 3 4 5 6 7 8 9 10 11)) #+end_src It appears to be working fine outputting a table such as #+RESULTS: | 0 | 1 | | 0 | 1 | | 0 | 1 | ... For another function in Lilypond, also in scheme I need it to be a (list (list 0 1) (list 0 1)...) as in the variable seq below: #+begin_src scheme :noweb yes $(let ((random-state (seed->random-state (current-time))) (seq (list (list 0 0) (list 0 1/2) (list 1 0) (list 1 1/2) (list 2 0) (list 3 0) (list 3 1/2) (list 4 0) (list 4 1/2) (list 5 0) (list 5 1/2) (list 6 0)))) (make-sequential-music (map (lambda (x p) (let ((idx (random 12 random-state))) (make-music 'NoteEvent 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 (car p) (car (cdr p)))))) (make-list (length seq)) seq))) #+end_src I can do: (seq <>) if alist is: #+name: alist #+begin_src scheme (list (list 0 0) (list 0 1/2) (list 1 0) (list 1 1/2) (list 2 0) (list 3 0) (list 3 1/2) (list 4 0) (list 4 1/2) (list 5 0) (list 5 1/2) (list 6 0)) #+end_src but what I would like to be able to do is to have have the noweb reference be to the 'chromatic' function above as in: (seq <>) but that doesn't work. Maybe what I am trying to do is not possible, maybe there is a limitation on ob-lilypond, but it seems to me that the result of my function chromatic above spits out ((0 1) (0 1)... ) and that this is the cause it doesn't work. Again, I am really new to this... The workaround I am doing is to format the output of chromatic into a proper list och lists and then add it by noweb reference. Any hints welcome. /Henrik