diff --git a/src/tint/ast/identifier_expression.cc b/src/tint/ast/identifier_expression.cc
index 1f86d9f..ca4e0cb 100644
--- a/src/tint/ast/identifier_expression.cc
+++ b/src/tint/ast/identifier_expression.cc
@@ -27,10 +27,6 @@
     : Base(pid, nid, src), identifier(ident) {
     TINT_ASSERT(AST, identifier != nullptr);
     TINT_ASSERT_PROGRAM_IDS_EQUAL(AST, identifier, program_id);
-
-    // It is currently invalid for a templated identifier expression to be used as an identifier
-    // expression, as this should parse as a ast::TypeName.
-    TINT_ASSERT(AST, !ident->Is<TemplatedIdentifier>());
 }
 
 IdentifierExpression::IdentifierExpression(IdentifierExpression&&) = default;
diff --git a/src/tint/ast/identifier_expression_test.cc b/src/tint/ast/identifier_expression_test.cc
index 80742a2..6eb951c 100644
--- a/src/tint/ast/identifier_expression_test.cc
+++ b/src/tint/ast/identifier_expression_test.cc
@@ -18,6 +18,8 @@
 namespace tint::ast {
 namespace {
 
+using namespace tint::number_suffixes;  // NOLINT
+
 using IdentifierExpressionTest = TestHelper;
 
 TEST_F(IdentifierExpressionTest, Creation) {
@@ -25,6 +27,15 @@
     EXPECT_EQ(i->identifier->symbol, Symbol(1, ID()));
 }
 
+TEST_F(IdentifierExpressionTest, CreationTemplated) {
+    auto* i = Expr(Ident("ident", true));
+    EXPECT_EQ(i->identifier->symbol, Symbol(1, ID()));
+    auto* tmpl_ident = i->identifier->As<ast::TemplatedIdentifier>();
+    ASSERT_NE(tmpl_ident, nullptr);
+    EXPECT_EQ(tmpl_ident->arguments.Length(), 1_u);
+    EXPECT_TRUE(tmpl_ident->arguments[0]->Is<ast::BoolLiteralExpression>());
+}
+
 TEST_F(IdentifierExpressionTest, Creation_WithSource) {
     auto* i = Expr(Source{{20, 2}}, "ident");
     EXPECT_EQ(i->identifier->symbol, Symbol(1, ID()));
@@ -57,14 +68,5 @@
         "internal compiler error");
 }
 
-TEST_F(IdentifierExpressionTest, Assert_IdentifierNotTemplated) {
-    EXPECT_FATAL_FAILURE(
-        {
-            ProgramBuilder b;
-            b.create<IdentifierExpression>(b.Ident("ident", "a", "b", "c"));
-        },
-        "internal compiler error");
-}
-
 }  // namespace
 }  // namespace tint::ast
diff --git a/src/tint/program_builder.h b/src/tint/program_builder.h
index 9050783..5455609 100644
--- a/src/tint/program_builder.h
+++ b/src/tint/program_builder.h
@@ -1219,9 +1219,6 @@
     /// @return an ast::IdentifierExpression with the given identifier
     template <typename IDENTIFIER, typename = traits::EnableIfIsType<IDENTIFIER, ast::Identifier>>
     const ast::IdentifierExpression* Expr(const IDENTIFIER* ident) {
-        static_assert(!traits::IsType<IDENTIFIER, ast::TemplatedIdentifier>,
-                      "it is currently invalid for a templated identifier expression to be used as "
-                      "an identifier expression, as this should parse as an ast::TypeName");
         return create<ast::IdentifierExpression>(ident);
     }
 
