 
 	case Parameter(Int)
 	case Return(Int)
-	case Node(String)
+	case Node(UUID)
 
 
 	// MARK: API

		case let Return(x):
			return toString(x)
		case let Node(x):
			return x
		}
	}


public func == (left: Identifier, right: Identifier) -> Bool {
	return left.stringValue == right.stringValue
}


public struct UUID {
	public init() {
		var value: [UInt8] = Array(count: 16, repeatedValue: 0)
		uuid_generate(&value)
		self.init(value: value)
	}


	public var stringValue: String {
		var characters: [CChar] = Array(count: 37, repeatedValue: 0)
		uuid_unparse(value, &characters)
		return String.fromCString(characters)!
	}


	// MARK: Private

	private init(value: [UInt8]) {
		self.value = value
	}

	private let value: [UInt8]
}


// MARK: - Imports

import Darwin.uuid
