class Build::Files::Path

def with(root: @root, extension: nil)

def with(root: @root, extension: nil)
	# self.relative_path should be a string so using + to add an extension should be fine.
	relative_path = extension ? self.relative_path + extension : self.relative_path
	
	self.class.new(File.join(root, relative_path), root, relative_path)
end