diff --git a/muppet/parser_combinator.py b/muppet/parser_combinator.py
index cc549f51984a897dbf2fd36e239597a738ea07ad..f0e75f9e967a1d487d4620e6eb17393c3ea52fd3 100644
--- a/muppet/parser_combinator.py
+++ b/muppet/parser_combinator.py
@@ -383,7 +383,7 @@ class name(ParseDirective):
         return parser.get(self.form)
 
     def __repr__(self) -> str:
-        return f'{self.name}'
+        return f'[{self.name}]'
 
 
 def optional(parser: ParseDirective) -> ParseDirective:
@@ -670,6 +670,9 @@ class tag(ParseDirective):
         result = parser.get(self.parser)
         return [MatchCompound(type=self.tag, matched=result)]
 
+    def __repr__(self) -> str:
+        return f'{self.tag}({self.parser!r})'
+
 
 def delimited(delim: Items, parser: Items) -> ParseDirective:
     """