diff --git a/go/ast/astutil/rewrite.go b/go/ast/astutil/rewrite.go
index cf72ea9..b949fc8 100644
--- a/go/ast/astutil/rewrite.go
+++ b/go/ast/astutil/rewrite.go
@@ -9,6 +9,8 @@
 	"go/ast"
 	"reflect"
 	"sort"
+
+	"golang.org/x/tools/internal/typeparams"
 )
 
 // An ApplyFunc is invoked by Apply for each node n, even if n is nil,
@@ -437,7 +439,11 @@
 		}
 
 	default:
-		panic(fmt.Sprintf("Apply: unexpected node type %T", n))
+		if typeparams.IsListExpr(n) {
+			a.applyList(n, "ElemList")
+		} else {
+			panic(fmt.Sprintf("Apply: unexpected node type %T", n))
+		}
 	}
 
 	if a.post != nil && !a.post(&a.cursor) {
diff --git a/go/ast/astutil/rewrite_test.go b/go/ast/astutil/rewrite_test.go
index 1c86970..3a74afa 100644
--- a/go/ast/astutil/rewrite_test.go
+++ b/go/ast/astutil/rewrite_test.go
@@ -13,13 +13,16 @@
 	"testing"
 
 	"golang.org/x/tools/go/ast/astutil"
+	"golang.org/x/tools/internal/typeparams"
 )
 
-var rewriteTests = [...]struct {
+type rewriteTest struct {
 	name       string
 	orig, want string
 	pre, post  astutil.ApplyFunc
-}{
+}
+
+var rewriteTests = []rewriteTest{
 	{name: "nop", orig: "package p\n", want: "package p\n"},
 
 	{name: "replace",
@@ -190,6 +193,34 @@
 	},
 }
 
+func init() {
+	if typeparams.Enabled {
+		rewriteTests = append(rewriteTests, rewriteTest{
+			name: "replace",
+			orig: `package p
+
+type T[P1, P2 any] int
+
+type R T[int, string]
+`,
+			want: `package p
+
+type T[P1, P2 any] int32
+
+type R T[int32, string]
+`,
+			post: func(c *astutil.Cursor) bool {
+				if ident, ok := c.Node().(*ast.Ident); ok {
+					if ident.Name == "int" {
+						c.Replace(ast.NewIdent("int32"))
+					}
+				}
+				return true
+			},
+		})
+	}
+}
+
 func valspec(name, typ string) *ast.ValueSpec {
 	return &ast.ValueSpec{Names: []*ast.Ident{ast.NewIdent(name)},
 		Type: ast.NewIdent(typ),
diff --git a/internal/typeparams/typeparams.go b/internal/typeparams/typeparams.go
index 624ce37..6b7958a 100644
--- a/internal/typeparams/typeparams.go
+++ b/internal/typeparams/typeparams.go
@@ -101,5 +101,5 @@
 		return nil, nil
 	}
 	inf := info.Inferred[e]
-	return inf.Targs, inf.Sig
+	return inf.TArgs, inf.Sig
 }
