diff --git a/pytools/tag.py b/pytools/tag.py
index f0d5328103619df7b2a6574e26cb3fd880aa78a9..408edd283d7cd99aee48684f8211178ace71c4c3 100644
--- a/pytools/tag.py
+++ b/pytools/tag.py
@@ -236,6 +236,9 @@ class Taggable:
     """
 
     def __init__(self, tags: TagsType = frozenset()):
+        assert isinstance(tags, FrozenSet)
+        assert all(isinstance(tag, Tag) for tag in tags)
+        check_tag_uniqueness(tags)
         self.tags = tags
 
     def copy(self: T_co, **kwargs: Any) -> T_co: