 	
 	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):
+		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))"
		}
	}

	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
		}
