diff --git a/PKG-INFO b/PKG-INFO
index 064c9cb1781d73092a8aa3530672edb7de9aecf1..e64ece76688e735e99bfc5f05278259220baf817 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: swh.model
-Version: 0.6.0
+Version: 0.6.1
 Summary: Software Heritage data model
 Home-page: https://forge.softwareheritage.org/diffusion/DMOD/
 Author: Software Heritage developers
diff --git a/swh.model.egg-info/PKG-INFO b/swh.model.egg-info/PKG-INFO
index 064c9cb1781d73092a8aa3530672edb7de9aecf1..e64ece76688e735e99bfc5f05278259220baf817 100644
--- a/swh.model.egg-info/PKG-INFO
+++ b/swh.model.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: swh.model
-Version: 0.6.0
+Version: 0.6.1
 Summary: Software Heritage data model
 Home-page: https://forge.softwareheritage.org/diffusion/DMOD/
 Author: Software Heritage developers
diff --git a/swh/model/collections.py b/swh/model/collections.py
index 38d28a329de2e02c5077da83a20001a4b38513c7..5fd8f68221564efab463ce694bf972cc39ca52c6 100644
--- a/swh/model/collections.py
+++ b/swh/model/collections.py
@@ -26,6 +26,9 @@ class ImmutableDict(Mapping, Generic[KT, VT]):
         else:
             self.data = tuple(data)
 
+    def __repr__(self):
+        return f"ImmutableDict({dict(self.data)!r})"
+
     def __getitem__(self, key):
         for (k, v) in self.data:
             if k == key:
diff --git a/swh/model/merkle.py b/swh/model/merkle.py
index bddaa3c7b8b4ca57cfa8bc70e0c5a9f56a73ed7d..0311d9d19dd02ab5cf68378d95a7913ff4b226d2 100644
--- a/swh/model/merkle.py
+++ b/swh/model/merkle.py
@@ -6,7 +6,7 @@
 """Merkle tree data structure"""
 
 import abc
-import collections
+from collections.abc import Mapping
 
 from typing import Iterator, List, Set
 
@@ -66,7 +66,7 @@ def deep_update(left, right):
 
     """
     for key, rvalue in right.items():
-        if isinstance(rvalue, collections.Mapping):
+        if isinstance(rvalue, Mapping):
             new_lvalue = deep_update(left.get(key, {}), rvalue)
             left[key] = new_lvalue
         else:
diff --git a/swh/model/model.py b/swh/model/model.py
index ff11f1cb2e72cd74dacd6cac54c8b30a131f1595..dd73bf99b6a8f52aca76cee43028f1ebf4e9d424 100644
--- a/swh/model/model.py
+++ b/swh/model/model.py
@@ -736,6 +736,8 @@ class MetadataAuthority(BaseModel):
     """Represents an entity that provides metadata about an origin or
     software artifact."""
 
+    object_type: Final = "metadata_authority"
+
     type = attr.ib(type=MetadataAuthorityType, validator=type_validator())
     url = attr.ib(type=str, validator=type_validator())
     metadata = attr.ib(
@@ -762,6 +764,8 @@ class MetadataFetcher(BaseModel):
     """Represents a software component used to fetch metadata from a metadata
     authority, and ingest them into the Software Heritage archive."""
 
+    object_type: Final = "metadata_fetcher"
+
     name = attr.ib(type=str, validator=type_validator())
     version = attr.ib(type=str, validator=type_validator())
     metadata = attr.ib(
@@ -791,6 +795,8 @@ class MetadataTargetType(Enum):
 
 @attr.s(frozen=True)
 class RawExtrinsicMetadata(BaseModel):
+    object_type: Final = "raw_extrinsic_metadata"
+
     # target object
     type = attr.ib(type=MetadataTargetType, validator=type_validator())
     id = attr.ib(type=Union[str, SWHID], validator=type_validator())
diff --git a/swh/model/tests/test_model.py b/swh/model/tests/test_model.py
index b6aa82cb6d081221499ea9e3ad639f28b167c7b8..eb226e5398064d06238883d7beea191a56d78e28 100644
--- a/swh/model/tests/test_model.py
+++ b/swh/model/tests/test_model.py
@@ -456,7 +456,7 @@ def test_revision_extra_headers_with_headers():
     extra_headers = (
         (b"header1", b"value1"),
         (b"header2", b"42"),
-        (b"header3", b"should I?\u0000"),
+        (b"header3", b"should I?\x00"),
         (b"header1", b"again"),
     )
 
@@ -479,7 +479,7 @@ def test_revision_extra_headers_in_metadata():
     extra_headers = (
         (b"header1", b"value1"),
         (b"header2", b"42"),
-        (b"header3", b"should I?\u0000"),
+        (b"header3", b"should I?\x00"),
         (b"header1", b"again"),
     )
 
@@ -501,7 +501,7 @@ def test_revision_extra_headers_as_lists():
     extra_headers = (
         (b"header1", b"value1"),
         (b"header2", b"42"),
-        (b"header3", b"should I?\u0000"),
+        (b"header3", b"should I?\x00"),
         (b"header1", b"again"),
     )
 
diff --git a/version.txt b/version.txt
index a6215ed51cd8a25907e996622351c405808325d5..6ebf82ac7c32ff364a1005eda5ee5dc50229dde2 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-v0.6.0-0-g3b2d72c
\ No newline at end of file
+v0.6.1-0-g08632e7
\ No newline at end of file