- Make a library that's nice for scripting with dot-chained methods
- move as much work to the type system as possible
- keep as much as possible in string subtypes
- validating paths. Given different OS path-naming requirements, validation would be hard to do (see https://stackoverflow.com/a/31976060/6571327)