A 'call-with-temp-files' procedure might be useful. This would ensure
those files are deleted when no longer needed:
(call-with-temp-files
(lambda (file1 file2 file3)
(generate file1)
(transform file1 file2)
(transform file2 file3)
(parse file3))
"file1"
"file2"
"file3") ; => result of (parse file3)
So "file1" and "file2" and "file3" would be fed into whatever template
the implementation is using to generate unique names.
I didn't check whether some implementation has this already. I'll start
the comprehensive survey soon based on the links collected in the other
thread.