Surprising behaviour of touch()
I would expect a method named touch() to update a file's timestamp if it already exists, not just create a file if it doesn't.
So I suggest that either the name or the behaviour should be changed.
(I checked with a bit of web searching, and everywhere I could find listed the timestamp behaviour is the main function of touch(), with creating files as secondary. Eg http://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/touch.1.html http://unixhelp.ed.ac.uk/CGI/man-cgi?touch )