Generating arbitrary files: with_file

Closes #8