>>106494716
>unfold
baby steps
scheme@(guile-user)> (define (stop n) (< n 0))
scheme@(guile-user)> (stop 0)
$6 = #f
scheme@(guile-user)> (stop -1)
$7 = #t
scheme@(guile-user)> (define (down n) (- n 1))
scheme@(guile-user)> (identity 1)
$8 = 1
scheme@(guile-user)> (unfold stop identity down 3)
$9 = (3 2 1 0)