(define (make-ring n)
  (let ((result '()))
  (define (iter counter)
      (if (< counter 0)
          (ringeer result)
          (begin (set! result (append result (list counter)))
                 (iter (- counter 1)))))
  (define (ringeer lst)
    (define (hulp l)
      (if (null? (cdr l))
          (begin (set-cdr! l lst) l)
          (cons (car l) (hulp (cdr l)))))
    (hulp lst))            
      (iter n)))