Path join(Path p) => Path( segments + p.segments, filename: p.filename ?? filename, filetype: p.filetype ?? filetype, );