Split FilePath into DirPath and FilePath

It seems to me that it's not possible to do an accidental call precisely because you pass a different type. But I don't mind renaming.