Hello, when trying to create an executable script using `program-file', I realized it silently corrupts expressions with non-ascii characters. Minimal reproduction I did put together is: scheme@(guix-user)> ,use (guix) scheme@(guix-user)> ,build (program-file "foo" '(λ)) $1 = "/gnu/store/im07w0ilskfycpkwid3n7s80hdv263cn-foo" scheme@(guix-user)> (call-with-input-file $1 read) ;;; :3:22: warning: possibly unbound variable `$1' $2 = (?) Notice that $2 is (?) instead of the expected (λ). If there is a technical reason why this cannot be handled correctly, it would be great if it at least failed with an error instead of a silent corruption. Have a nice day, Tomas Volf -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.