継続のこの動作がやっぱり理解できません
(define cc1 '())   => #<done>
(define cc2 '())   => #<done>
(call-with-current-continuation (lambda (x) (set! cc1 x)))
(begin
 (call-with-current-continuation (lambda (x) (set! cc2 x)))
 (cc1 #t)
 (display "test1")) => #t*1
(display "test2")  => test2#<done>
(cc2 #t)        => #t*2
(display "test3")  => test3#<done>

*1 どうしてココでの評価値が #tなのか
*2 どうしてココで無限ループに陥らないのか。