 /// string representation.  This normalization is strictly syntactic, and does
 /// not access the file system in any way.
 ///
-/// The path string is normalized by:
+/// The absolute path string is normalized by:
 /// - Collapsing `..` path components
 /// - Removing `.` path components
 /// - Removing any trailing path separator

    /// Initializes the AbsolutePath from `string`, which must be an absolute
    /// path (i.e. it must begin with a path separator; this initializer does
    /// not interpret leading `~` characters as home directory specifiers).
    /// The input string will be normalized if needed, in accordance with the
    /// rules described in the documentation for AbsolutePath.
    public init(_ string: String) {
        // Normalize the absolute string and store it as our PathImpl.
        _impl = PathImpl(string: normalize(absolute: string))

    /// Initializes the RelativePath from `str`, which must be a relative path
    /// (which means that it must not begin with a path separator or a tilde).
    /// An empty input path is allowed, but will be normalized to a single `.`
    /// character.  The input string will be normalized if needed, as described
    /// in the documentation for RelativePath.
    public init(_ string: String) {
        // Normalize the relative string and store it as our PathImpl.
        _impl = PathImpl(string: normalize(relative: string))
