(define lst-ref (lambda (lst pos) (if (= pos 0) (car lst) (lst-ref (cdr lst) (- pos 1))))) (define repetitions-of (lambda (copies item) ; makes a list containing copies repetitions of the item (cond ((= copies 0) (list)) ; the (list) could also be '() (else (cons item (repetitions-of (- copies 1) item)))))) (define expand ; we're still working on this (lambda (lst) (cond ((null? lst) '()) ((number? (car lst)) (somehow-join-together (repetitions-of (car lst) (car (cdr lst))) (expand (cdr (cdr lst))))) ;some more cases? ))) (expand '(get a job sha 8 na get a job sha 8 na wah 8 yip sha boom))