diff --git a/swh/model/hypothesis_strategies.py b/swh/model/hypothesis_strategies.py
index 80ac0577c6b0a336260e4c5c913e0ec5e06847e0..54433d27969ca453ac3fddf91a5d3ef183e3367f 100644
--- a/swh/model/hypothesis_strategies.py
+++ b/swh/model/hypothesis_strategies.py
@@ -4,6 +4,7 @@
 # See top-level LICENSE file for more information
 
 import datetime
+import functools
 import string
 from typing import Any, Callable, List, Sequence, Set, Tuple, Union
 
@@ -548,13 +549,8 @@ def raw_extrinsic_metadata_d(**kwargs):
     return raw_extrinsic_metadata(**kwargs).map(RawExtrinsicMetadata.to_dict)
 
 
-def _tuplify(
-    object_type: ModelObjectType,
-) -> Callable[[BaseModel], Tuple[ModelObjectType, BaseModel]]:
-    def tupler(obj: BaseModel):
-        return (object_type, obj)
-
-    return tupler
+def _tuplify(object_type: ModelObjectType, obj: BaseModel):
+    return (object_type, obj)
 
 
 def objects(
@@ -591,10 +587,11 @@ def objects(
     else:
         strategies.append((ModelObjectType.CONTENT, contents))
 
-    candidates = []
-    for obj_type, obj_gen in strategies:
-        if obj_type not in blacklist_types:
-            candidates.append(obj_gen().map(_tuplify(obj_type)))
+    candidates = [
+        obj_gen().map(functools.partial(_tuplify, obj_type))
+        for (obj_type, obj_gen) in strategies
+        if obj_type not in blacklist_types
+    ]
     return one_of(*candidates)