diff --git a/dan/datasets/extract/__init__.py b/dan/datasets/extract/__init__.py
index a7c83525c437f06306b5e8bbf77e8e9e576fd1ff..c2634de59741cc05d6dfc998938a8528768266c0 100644
--- a/dan/datasets/extract/__init__.py
+++ b/dan/datasets/extract/__init__.py
@@ -5,6 +5,7 @@ Extract dataset from Arkindex using a corpus export.
 
 import argparse
 import pathlib
+from typing import Union
 from uuid import UUID
 
 from dan.datasets.extract.arkindex import run
@@ -12,18 +13,15 @@ from dan.datasets.extract.arkindex import run
 MANUAL_SOURCE = "manual"
 
 
-def validate_uuid(arg_uuid):
-    try:
-        return UUID(arg_uuid)
-    except ValueError:
-        raise argparse.ArgumentTypeError(f"`{arg_uuid}` is not a valid UUID.")
-
-
-def parse_worker_version(worker_version_id):
+def parse_worker_version(worker_version_id) -> Union[str, bool]:
     if worker_version_id == MANUAL_SOURCE:
         return False
 
-    validate_uuid(worker_version_id)
+    try:
+        UUID(worker_version_id)
+    except ValueError:
+        raise argparse.ArgumentTypeError(f"`{worker_version_id}` is not a valid UUID.")
+
     return worker_version_id
 
 
@@ -79,19 +77,19 @@ def add_extract_parser(subcommands) -> None:
 
     parser.add_argument(
         "--train-folder",
-        type=validate_uuid,
+        type=UUID,
         help="ID of the training folder to extract from Arkindex.",
         required=True,
     )
     parser.add_argument(
         "--val-folder",
-        type=validate_uuid,
+        type=UUID,
         help="ID of the validation folder to extract from Arkindex.",
         required=True,
     )
     parser.add_argument(
         "--test-folder",
-        type=validate_uuid,
+        type=UUID,
         help="ID of the testing folder to extract from Arkindex.",
         required=True,
     )