 	
 	public let base: BaseIdentifier?
 	public let index: Int
+
+	public var identifier: Identifier {
+		return .Destination(self)
+	}
 }
 
 public func == (left: DestinationIdentifier, right: DestinationIdentifier) -> Bool {

}


public struct SourceIdentifier: Hashable, Printable {
	public init(base: BaseIdentifier?, index: Int) {
		self.base = base
		self.index = index


	public let base: BaseIdentifier?
	public let index: Int

	public var identifier: Identifier {
		return .Source(self)
	}
}

public func == (left: SourceIdentifier, right: SourceIdentifier) -> Bool {
