Summary
- merged
- exclude file name components that are special on Windows;
- reject further illegal chars according to https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file
- tuned;
- more strict check: avoid confusion of Path.basic with Path.current / Path.parent;
- tuned;
- prefer naming convention from datatype package for strong congruence rules
- redundant