 	init?(oid: OID, type: git_otype) {
 		switch type.value {
 		case GIT_OBJ_COMMIT.value:
-			self = .Commit(oid)
+			self = Commit(oid)
 		case GIT_OBJ_TREE.value:
-			self = .Tree(oid)
+			self = Tree(oid)
 		case GIT_OBJ_BLOB.value:
-			self = .Blob(oid)
+			self = Blob(oid)
 		case GIT_OBJ_TAG.value:
-			self = .Tag(oid)
+			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
		}
	}

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