I did a quick check, and in the common case that the directory already exists, the `if exists` check is cheaper that trying and failing to create it.

I gave it a better message and tests, etc.