Hello, this is with current master, I don't know what stable 2.0 does, although I don't think it's changed there.
scheme@(guile-user)> (format #t "~{~{~a~^ ~}\n~}" '((1 2) (3 4))) ;;; <stdin>:1:0: warning: "~{~{~a~^ ~}\\n~}": wrong number of `format' arguments: expected 2, got 1 1 2 3 4 $1 = #t apparently it only happens with double nesting, e.g. triple nesting is fine: scheme@(guile-user)> (format #t "~{~{~{~a~^:~}~^ ~}\n~}" '(((1 2) (3 4)) ((5 6) (7 8)))) 1:2 3:4 5:6 7:8 $2 = #t Regards, Daniel