 
 }
 
+/** Determines if two paths are identical
+:note: The comparison is string-based. Be aware that two different paths (foo.txt and ./foo.txt) can refer to the same file.
+*/
 public func ==(lhs: Path, rhs: Path) -> Bool {
     return lhs.path == rhs.path
 }
 
+/// Appends a Path fragment to another Path to produce a new Path
 public func +(lhs: Path, rhs: Path) -> Path {
     switch (lhs.path.hasSuffix(Path.separator), rhs.path.hasPrefix(Path.separator)) {
         case (true, true):

    }

    /** Method for testing whether a path is absolute.
    :return: true if the pathname begings with a slash
    */
    public func isAbsolute() -> Bool {
        return path.hasPrefix(Path.separator)
    }

    public func isDirectory() -> Bool {
        var directory = ObjCBool(false)
        return NSFileManager().fileExistsAtPath(path, isDirectory: &directory) && directory.boolValue

        return self(value)
    }

    // Returns the current working directory of the process
    public static var current:Path {
        get {
            return self(NSFileManager().currentDirectoryPath)
