 extension Object: Printable {
 	public var description: String {
 		switch self {
-		case .Commit:
+		case Commit:
 			return "commit(\(oid))"
-		case .Tree:
+		case Tree:
 			return "tree(\(oid))"
-		case .Blob:
+		case Blob:
 			return "blob(\(oid))"
-		case .Tag:
+		case Tag:
 			return "tag(\(oid))"
 		}
 	}

	init?(oid: OID, type: git_otype) {
		switch type.value {
		case GIT_OBJ_COMMIT.value:
			self = .Commit(oid)
		case GIT_OBJ_TREE.value:
			self = .Tree(oid)
		case GIT_OBJ_BLOB.value:
			self = .Blob(oid)
		case GIT_OBJ_TAG.value:
			self = .Tag(oid)
		default:
			return nil
		}

	
	var oid: OID {
		switch self {
		case let Commit(oid):
			return oid
		case let Tree(oid):
			return oid
		case let Blob(oid):
			return oid
		case let Tag(oid):
			return oid
		}
	}
