 	case Key(Box<Identifier>, String)
 	case Index(Box<Identifier>, Int)
 	case Base(String)
+	case Root
 
 
 	// MARK: Printable

			return base.value.append(x)
		case let Base(x):
			return x
		}
	}


	// MARK: Private

	private func append<T>(child: T) -> String {
		switch self {
		case Root:
			return toString(child)
		default:
			return "\(self)/\(child)"
		}
	}
}

