I encounter similar behavior, but for dynamic padding, but it one case it doesn't even work. I am using guile 2.2.6 from guix distro
scheme@(guile-user)> (format #f "~:{~v_ ~a ~}" '((5 "hello"))) FORMAT: error with call: (format #f "~:{~v_ ~a ~}<===" ((5 hello)) ===>) missing argument(s) In ice-9/format.scm: 1590:19 2 (format #f "~:{~v_ ~a ~}" ((5 "hello"))) 197:20 1 (format:format-work "~:{~v_ ~a ~}" (((5 "hello")))) In unknown file: 0 (scm-error misc-error #f "~A" ("error in format") #f) error in format Added the bogus 0 which doesn't do anything scheme@(guile-user)> (format #f "~:{~v_ ~a ~}" 0 '((5 "hello"))) ;;; <stdin>:3:0: warning: "~:{~v_ ~a ~}": wrong number of `format' arguments: expected 1, got 2 $1 = " hello " -- Alexey