(define (list-with-insertion lst idx val) (cond [(zero? idx) (cons val lst)] [(null? lst) lst] [else (cons (car lst) (list-with-insertion (cdr lst) (- idx 1) val))]))