Library code for user-relative paths, take three.