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 wild that POSIX has no concept of a "canonical path", only "pathname resolution", which follows symlinks and only works for paths pointing to things that actually exist in the filesystem:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13
General Concepts