#9, add -<.> as an alias for replaceExtension
Note that any is a Prelude function
If there is an error, show the messages again at the end, so you don't have to scroll back
#11, more top-level documentation
#11, give better section titles
Optimise isPathSeparator
#10, more concrete examples