make-list* added by retroj on Wed Nov 12 16:32:50 2014

;; make-list* is a variant of `make-list' which takes the length of the
;; list to create and a function of one argument (the index) to create
;; each list element.
;;
(define (make-list* n fn)
  (define (mkl i)
    (if (< i n)
        (cons (fn i) (mkl (+ 1 i)))
        '()))
  (mkl 0))