courtesy of the swift standard library team's michael ilseman, who's been working on standardizing our FilePath type, here's more than you ever wanted to know about how (POSIX) path types work in a bunch of languages https://gist.github.com/milseman/c22a0413dee131719fd51407e3ee7c8b
Synthesis cross language comparison for trailing slash

Synthesis cross language comparison for trailing slash - synthesis_path.md

Gist
@joe It's a little tangential but I just tripped over this in Python: preservation of a *leading* ./ can be important when dealing with command line arguments, because, for example, "cat a b - c" means concatenate file a, file b, whatever's on stdin, and file c; whereas "cat a b ./- c" instead should read a file named "-" in the current directory.
@zwol i could see that still being workable, though it forces you to handle `-` as a special command line argument during argument parsing before forming any paths from arguments
@joe yeah, I had to change my Python program to pass the list of input files around as a list of strings rather than path objects