Usando "do" no esquema

Qual é a diferença entre o CODE SNIPPET 1 e o CODE SNIPPET 2?

;CODE SNIPPET 1
(define i 0)                      
(do ()                             
  ((= i 5))                       ; Two sets of parentheses
  (display i)                     
  (set! i (+ i 1))) 


;CODE SNIPPET 2
(define i 0)                      
(do ()                             
  (= i 5)                         ; One set of parentheses
  (display i)                     
  (set! i (+ i 1))) 

O primeiro trecho de código produz 01234 e o segundo produz 5. O que está acontecendo? O que o conjunto extra de parênteses faz? Além disso, eu vi[(= i 50)] usado em vez de((= i 5)). Existe alguma distinção? Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion