diff --git a/cmd/cue/cmd/get_go.go b/cmd/cue/cmd/get_go.go
index b76e967..4d493d3 100644
--- a/cmd/cue/cmd/get_go.go
+++ b/cmd/cue/cmd/get_go.go
@@ -1210,7 +1210,10 @@
 		}
 
 		// Carry over protobuf field tags with modifications.
-		if t := reflect.StructTag(tag).Get("protobuf"); t != "" {
+		// TODO: consider trashing the protobuf tag, as the Go versions are
+		// lossy and will not allow for an accurate translation in some cases.
+		tags := reflect.StructTag(tag)
+		if t := tags.Get("protobuf"); t != "" {
 			split := strings.Split(t, ",")
 			k := 0
 			for _, s := range split {
@@ -1227,6 +1230,18 @@
 			if len(split) >= 2 {
 				split[0], split[1] = split[1], split[0]
 			}
+
+			// Interpret as map?
+			if len(split) > 2 && split[1] == "bytes" {
+				tk := tags.Get("protobuf_key")
+				tv := tags.Get("protobuf_val")
+				if tk != "" && tv != "" {
+					tk = strings.SplitN(tk, ",", 2)[0]
+					tv = strings.SplitN(tv, ",", 2)[0]
+					split[1] = fmt.Sprintf("map[%s]%s", tk, tv)
+				}
+			}
+
 			e.addAttr(field, "protobuf", strings.Join(split, ","))
 		}
 
diff --git a/cmd/cue/cmd/testdata/script/def_proto.txt b/cmd/cue/cmd/testdata/script/def_proto.txt
index 816e9c9..0d23064 100644
--- a/cmd/cue/cmd/testdata/script/def_proto.txt
+++ b/cmd/cue/cmd/testdata/script/def_proto.txt
@@ -11,24 +11,24 @@
 	// A map of attribute name to its value.
 	attributes?: {
 		[string]: #AttributeValue
-	} @protobuf(1,type=map<string,AttributeValue>)
+	} @protobuf(1,map[string]AttributeValue)
 
 	// Specifies one attribute value with different type.
 	#AttributeValue: {} | {
-		stringValue: string @protobuf(2,name=string_value)
+		stringValue: string @protobuf(2,string,name=string_value)
 	} | {
-		int64Value: int64 @protobuf(3,name=int64_value)
+		int64Value: int64 @protobuf(3,int64,name=int64_value)
 	} | {
-		doubleValue: float64 @protobuf(4,type=double,name=double_value)
+		doubleValue: float64 @protobuf(4,double,name=double_value)
 	} | {
-		boolValue: bool @protobuf(5,name=bool_value)
+		boolValue: bool @protobuf(5,bool,name=bool_value)
 	} | {
-		bytesValue: bytes @protobuf(6,name=bytes_value)
+		bytesValue: bytes @protobuf(6,bytes,name=bytes_value)
 	} | {
-		timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
+		timestampValue: time.Time @protobuf(7,google.protobuf.Timestamp,name=timestamp_value)
 	} | {
 		// Used for values of type STRING_MAP
-		stringMapValue: #StringMap @protobuf(9,name=string_map_value)
+		stringMapValue: #StringMap @protobuf(9,StringMap,name=string_map_value)
 	}
 
 	// Defines a string map.
@@ -36,7 +36,7 @@
 		// Holds a set of name/value pairs.
 		entries?: {
 			[string]: string
-		} @protobuf(1,type=map<string,string>)
+		} @protobuf(1,map[string]string)
 	}
 }
 -- policy.proto --
diff --git a/cmd/cue/cmd/testdata/script/get_go_types.txt b/cmd/cue/cmd/testdata/script/get_go_types.txt
index 9a99a24..a22cc66 100644
--- a/cmd/cue/cmd/testdata/script/get_go_types.txt
+++ b/cmd/cue/cmd/testdata/script/get_go_types.txt
@@ -70,7 +70,9 @@
 
 	Alias1 *MyBarzer
 
-	Map    map[string]*CustomJSON
+	// Note: Go encodings of protobuf tags are lossy. So this is a best-effort
+	// thing.
+	Map    map[string]*CustomJSON `protobuf:"bytes,1,name=intf" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
 	Slice1 []int
 	Slice2 []interface{}
 	Slice3 *[]json.Unmarshaler
@@ -222,52 +224,52 @@
 package pkg1
 
 import (
- "time"
- p2 "example.com/pkg2:pkgtwo"
+	"time"
+	p2 "example.com/pkg2:pkgtwo"
 )
 
 // Foozer foozes a jaman.
 #Foozer: {
- Int:    int
- String: string
+	Int:    int
+	String: string
 
- #Inline
- NoInline:    #NoInline
- CustomJSON:  #CustomJSON
- CustomYAML?: null | #CustomYAML @go(,*CustomYAML)
- AnyJSON:     _                  @go(,json.Marshaler)
- AnyText:     string             @go(,encoding.TextMarshaler)
- bar?:        int & >10          @go(Bar)
+	#Inline
+	NoInline:    #NoInline
+	CustomJSON:  #CustomJSON
+	CustomYAML?: null | #CustomYAML @go(,*CustomYAML)
+	AnyJSON:     _                  @go(,json.Marshaler)
+	AnyText:     string             @go(,encoding.TextMarshaler)
+	bar?:        int & >10          @go(Bar)
 
- // Time is mapped to CUE's internal type.
- Time:    time.Time
- Barzer:  p2.#Barzer
- Alias1?: null | p2.#Barzer @go(,*p2.Barzer)
- Map: {[string]: null | #CustomJSON} @go(,map[string]*CustomJSON)
- Slice1: [...int] @go(,[]int)
- Slice2: [...] @go(,[]interface{})
- Slice3?: null | [...] @go(,*[]json.Unmarshaler)
- Array1:  5 * [int]    @go(,[5]int)
- Array2:  5 * [_]      @go(,[5]interface{})
- Array3?: null | 5*[_] @go(,*[5]json.Marshaler)
- Intf:    #Interface   @protobuf(2,varint,name=intf)
- Intf2:   _            @go(,interface{})
- Intf3: {
-  Interface: #Interface
- } @go(,struct{Interface})
- Intf4: _ @go(,"interface{Foo()}")
+	// Time is mapped to CUE's internal type.
+	Time:    time.Time
+	Barzer:  p2.#Barzer
+	Alias1?: null | p2.#Barzer @go(,*p2.Barzer)
+	Map: {[string]: null | #CustomJSON} @go(,map[string]*CustomJSON)
+	Slice1: [...int] @go(,[]int)
+	Slice2: [...] @go(,[]interface{})
+	Slice3?: null | [...] @go(,*[]json.Unmarshaler)
+	Array1:  5 * [int]    @go(,[5]int)
+	Array2:  5 * [_]      @go(,[5]interface{})
+	Array3?: null | 5*[_] @go(,*[5]json.Marshaler)
+	Intf:    #Interface   @protobuf(2,varint,name=intf)
+	Intf2:   _            @go(,interface{})
+	Intf3: {
+		Interface: #Interface
+	} @go(,struct{Interface})
+	Intf4: _ @go(,"interface{Foo()}")
 
- // Even though this struct as a type implements MarshalJSON, it is known
- // that it is really only implemented by the embedded field.
- Embed: {
-  CustomJSON: #CustomJSON
- } @go(,struct{CustomJSON})
+	// Even though this struct as a type implements MarshalJSON, it is known
+	// that it is really only implemented by the embedded field.
+	Embed: {
+		CustomJSON: #CustomJSON
+	} @go(,struct{CustomJSON})
 }
 
 #Identifier: string // #enumIdentifier
 
 #enumIdentifier:
- _#internalIdentifier
+	_#internalIdentifier
 
 _#internalIdentifier: #Identifier & "internal"
 
@@ -275,10 +277,10 @@
 #Level: int // #enumLevel
 
 #enumLevel:
- #Unknown |
- #Low |
- #Medium |
- #High
+	#Unknown |
+	#Low |
+	#Medium |
+	#High
 
 // Block comment.
 //  Indented.
@@ -317,17 +319,17 @@
 
 // A Barzer barzes.
 #Barzer: {
- a:     int @go(A) @protobuf(2,varint,)
- T:     t.Time
- B?:    null | int    @go(,*big.Int)
- C:     int           @go(,big.Int)
- F:     string        @go(,big.Float) @xml(,attr)
- G?:    null | string @go(,*big.Float)
- S:     string
- "x-y": bool @go(XY)
- Err:   _    @go(,error)
+	a:     int @go(A) @protobuf(2,varint,)
+	T:     t.Time
+	B?:    null | int    @go(,*big.Int)
+	C:     int           @go(,big.Int)
+	F:     string        @go(,big.Float) @xml(,attr)
+	G?:    null | string @go(,*big.Float)
+	S:     string
+	"x-y": bool @go(XY)
+	Err:   _    @go(,error)
 
- #Inline
+	#Inline
 }
 
 #Perm: 0o755
@@ -336,6 +338,8 @@
 
 #Couple: int & 2
 
+#LongStringConst: "This is a really long string. Why are we using a long string? Because that way it ensures we are using go/constant.Value.ExactString() instead of go/constant.Value.String()"
+
 #Inline: A: int
 -- pkg3/pkg3_go_gen.cue --
 // Code generated by cue get go. DO NOT EDIT.
@@ -388,7 +392,10 @@
 	Time:    time.Time
 	Barzer:  p2.#Barzer
 	Alias1?: null | p2.#Barzer @go(,*p2.Barzer)
-	Map: {[string]: null | #CustomJSON} @go(,map[string]*CustomJSON)
+
+	// Note: Go encodings of protobuf tags are lossy. So this is a best-effort
+	// thing.
+	Map: {[string]: null | #CustomJSON} @go(,map[string]*CustomJSON) @protobuf(1,map[bytes]bytes,name=intf)
 	Slice1: [...int] @go(,[]int)
 	Slice2: [...] @go(,[]interface{})
 	Slice3?: null | [...] @go(,*[]json.Unmarshaler)
diff --git a/cmd/cue/cmd/testdata/script/import_proto.txt b/cmd/cue/cmd/testdata/script/import_proto.txt
index 6383895..dd21a60 100644
--- a/cmd/cue/cmd/testdata/script/import_proto.txt
+++ b/cmd/cue/cmd/testdata/script/import_proto.txt
@@ -4,9 +4,9 @@
 
 cmp stderr expect-stderr
 cmp stdout expect-stdout
-cmp expect-attributes_proto_gen.cue root/mixer/v1/attributes_proto_gen.cue
-cmp expect-client_config_proto_gen.cue root/mixer/v1/config/client/client_config_proto_gen.cue
-cmp expect-test_proto_gen.cue root/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue
+cmp root/mixer/v1/attributes_proto_gen.cue expect-attributes_proto_gen.cue
+cmp root/mixer/v1/config/client/client_config_proto_gen.cue expect-client_config_proto_gen.cue
+cmp root/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue expect-test_proto_gen.cue
 
 -- expect-stdout --
 -- expect-stderr --
@@ -174,30 +174,30 @@
 	// A map of attribute name to its value.
 	attributes?: {
 		[string]: #AttributeValue
-	} @protobuf(1,type=map<string,AttributeValue>)
+	} @protobuf(1,map[string]AttributeValue)
 
 	// Specifies one attribute value with different type.
 	#AttributeValue: {
 		// The attribute value.
 		{} | {
-			stringValue: string @protobuf(2,name=string_value)
+			stringValue: string @protobuf(2,string,name=string_value)
 		} | {
-			int64Value: int64 @protobuf(3,name=int64_value)
+			int64Value: int64 @protobuf(3,int64,name=int64_value)
 		} | {
-			doubleValue: float64 @protobuf(4,type=double,name=double_value)
+			doubleValue: float64 @protobuf(4,double,name=double_value)
 		} | {
-			boolValue: bool @protobuf(5,name=bool_value)
+			boolValue: bool @protobuf(5,bool,name=bool_value)
 		} | {
-			bytesValue: bytes @protobuf(6,name=bytes_value)
+			bytesValue: bytes @protobuf(6,bytes,name=bytes_value)
 		} | {
-			timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
+			timestampValue: time.Time @protobuf(7,google.protobuf.Timestamp,name=timestamp_value)
 		} | {
 			// Used for values of type STRING_MAP
-			stringMapValue: #StringMap @protobuf(9,name=string_map_value)
+			stringMapValue: #StringMap @protobuf(9,StringMap,name=string_map_value)
 		} | {
-			testValue: test.#Test @protobuf(10,type=acme.test.Test,name=test_value)
+			testValue: test.#Test @protobuf(10,acme.test.Test,name=test_value)
 		} | {
-			testValue: test_test.#AnotherTest @protobuf(11,type=acme.test.test.AnotherTest,name=test_value)
+			testValue: test_test.#AnotherTest @protobuf(11,acme.test.test.AnotherTest,name=test_value)
 		}
 	}
 
@@ -206,7 +206,7 @@
 		// Holds a set of name/value pairs.
 		entries?: {
 			[string]: string
-		} @protobuf(1,type=map<string,string>)
+		} @protobuf(1,map[string]string)
 	}
 }
 -- expect-client_config_proto_gen.cue --
@@ -217,13 +217,13 @@
 
 // Defines the per-service client configuration.
 #ServiceConfig: {
-	disableCheckCalls?:  bool           @protobuf(1,name=disable_check_calls)
-	disableReportCalls?: bool           @protobuf(2,name=disable_report_calls)
-	mixerAttributes?:    v1.#Attributes @protobuf(3,type=Attributes,name=mixer_attributes)
+	disableCheckCalls?:  bool           @protobuf(1,bool,name=disable_check_calls)
+	disableReportCalls?: bool           @protobuf(2,bool,name=disable_report_calls)
+	mixerAttributes?:    v1.#Attributes @protobuf(3,Attributes,name=mixer_attributes)
 }
 -- expect-test_proto_gen.cue --
 package test
 
 #Test: {
-	test?: int32 @protobuf(1)
+	test?: int32 @protobuf(1,int32)
 }
diff --git a/cue/types.go b/cue/types.go
index a0e3d95..4287d0c 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -2275,7 +2275,15 @@
 // and reports the value if found. It reports an error if the attribute is
 // invalid or if the first pos-1 entries are not defined.
 func (a *Attribute) Lookup(pos int, key string) (val string, found bool, err error) {
-	return a.attr.Lookup(pos, key)
+	val, found, err = a.attr.Lookup(pos, key)
+
+	// TODO: remove at some point. This is an ugly hack to simulate the old
+	// behavior of protobufs.
+	if !found && a.attr.Name == "protobuf" && key == "type" {
+		val, err = a.String(1)
+		found = err == nil
+	}
+	return val, found, err
 }
 
 // Expr reports the operation of the underlying expression and the values it
diff --git a/encoding/protobuf/examples_test.go b/encoding/protobuf/examples_test.go
index a0a7f5d..fe37380 100644
--- a/encoding/protobuf/examples_test.go
+++ b/encoding/protobuf/examples_test.go
@@ -47,13 +47,13 @@
 	//
 	// // This is my type.
 	// #MyType: {
-	// 	stringValue?: string @protobuf(1,name=string_value) // just any 'ole string
+	// 	stringValue?: string @protobuf(1,string,name=string_value) // just any 'ole string
 	//
 	// 	// A method must start with a capital letter.
-	// 	method?: [...string] @protobuf(2)
+	// 	method?: [...string] @protobuf(2,string)
 	// 	method?: [...=~"^[A-Z]"]
 	// 	exampleMap?: {
 	// 		[string]: string
-	// 	} @protobuf(3,type=map<string,string>,example_map)
+	// 	} @protobuf(3,map[string]string,example_map)
 	// }
 }
diff --git a/encoding/protobuf/parse.go b/encoding/protobuf/parse.go
index 276baed..a272c34 100644
--- a/encoding/protobuf/parse.go
+++ b/encoding/protobuf/parse.go
@@ -30,7 +30,6 @@
 	"cuelang.org/go/cue/ast"
 	"cuelang.org/go/cue/ast/astutil"
 	"cuelang.org/go/cue/errors"
-	"cuelang.org/go/cue/format"
 	"cuelang.org/go/cue/literal"
 	"cuelang.org/go/cue/parser"
 	"cuelang.org/go/cue/token"
@@ -520,7 +519,7 @@
 		addComments(f, i, x.Comment, x.InlineComment)
 
 		o := optionParser{message: s, field: f}
-		o.tags = fmt.Sprintf("%d,type=map<%s,%s>", x.Sequence, x.KeyType, x.Type)
+		o.tags = fmt.Sprintf(`%d,map[%s]%s`, x.Sequence, x.KeyType, x.Type)
 		if x.Name != name.Name {
 			o.tags += "," + x.Name
 		}
@@ -718,13 +717,8 @@
 
 	o := optionParser{message: s, field: f}
 
-	// body of @protobuf tag: sequence[,type][,name=<name>][,...]
-	o.tags += fmt.Sprint(x.Sequence)
-	b, _ := format.Node(typ)
-	str := string(b)
-	if x.Type != strings.TrimLeft(str, "#") {
-		o.tags += ",type=" + x.Type
-	}
+	// body of @protobuf tag: sequence,type[,name=<name>][,...]
+	o.tags += fmt.Sprintf("%v,%s", x.Sequence, x.Type)
 	if x.Name != name.Name {
 		o.tags += ",name=" + x.Name
 	}
diff --git a/encoding/protobuf/testdata/attributes.proto.out.cue b/encoding/protobuf/testdata/attributes.proto.out.cue
index 92a3e38..5d8217b 100644
--- a/encoding/protobuf/testdata/attributes.proto.out.cue
+++ b/encoding/protobuf/testdata/attributes.proto.out.cue
@@ -21,12 +21,12 @@
 )
 
 #StructWrap: {
-	struct?: {} @protobuf(1,type=google.protobuf.Struct)
-	any?: _ @protobuf(2,type=google.protobuf.Value)
-	listVal?: [...] @protobuf(3,type=google.protobuf.ListValue)
-	boolVal?:   bool   @protobuf(4,type=google.protobuf.BoolValue)
-	stringVal?: string @protobuf(5,type=google.protobuf.StringValue)
-	numberVal?: number @protobuf(6,type=google.protobuf.NumberValue)
+	struct?: {} @protobuf(1,google.protobuf.Struct)
+	any?: _ @protobuf(2,google.protobuf.Value)
+	listVal?: [...] @protobuf(3,google.protobuf.ListValue)
+	boolVal?:   bool   @protobuf(4,google.protobuf.BoolValue)
+	stringVal?: string @protobuf(5,google.protobuf.StringValue)
+	numberVal?: number @protobuf(6,google.protobuf.NumberValue)
 }
 
 // Attributes represents a set of typed name/value pairs. Many of Mixer's
@@ -50,39 +50,39 @@
 	// A map of attribute name to its value.
 	attributes?: {
 		[string]: #AttributeValue
-	} @protobuf(1,type=map<string,AttributeValue>)
+	} @protobuf(1,map[string]AttributeValue)
 
 	// Specifies one attribute value with different type.
 	#AttributeValue: {
 		// The attribute value.
 		{} | {
 			// Used for values of type STRING, DNS_NAME, EMAIL_ADDRESS, and URI
-			stringValue: string @protobuf(2,name=string_value)
+			stringValue: string @protobuf(2,string,name=string_value)
 		} | {
 			// Used for values of type INT64
-			int64Value: int64 @protobuf(3,name=int64_value)
+			int64Value: int64 @protobuf(3,int64,name=int64_value)
 		} | {
 			// Used for values of type DOUBLE
-			doubleValue: float64 @protobuf(4,type=double,name=double_value)
+			doubleValue: float64 @protobuf(4,double,name=double_value)
 		} | {
 			// Used for values of type BOOL
-			boolValue: bool @protobuf(5,name=bool_value)
+			boolValue: bool @protobuf(5,bool,name=bool_value)
 		} | {
 			// Used for values of type BYTES
-			bytesValue: bytes @protobuf(6,name=bytes_value)
+			bytesValue: bytes @protobuf(6,bytes,name=bytes_value)
 		} | {
 			// Used for values of type TIMESTAMP
-			timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
+			timestampValue: time.Time @protobuf(7,google.protobuf.Timestamp,name=timestamp_value)
 		} | {
 			// Used for values of type DURATION
-			durationValue: time.Duration @protobuf(8,type=google.protobuf.Duration,name=duration_value)
+			durationValue: time.Duration @protobuf(8,google.protobuf.Duration,name=duration_value)
 		} | {
 			// Used for values of type STRING_MAP
-			stringMapValue: #StringMap @protobuf(9,name=string_map_value)
+			stringMapValue: #StringMap @protobuf(9,StringMap,name=string_map_value)
 		} | {
-			testValue: test.#Test @protobuf(10,type=acme.test.Test,name=test_value)
+			testValue: test.#Test @protobuf(10,acme.test.Test,name=test_value)
 		} | {
-			testValue: test_test.#AnotherTest @protobuf(11,type=acme.test.test.AnotherTest,name=test_value)
+			testValue: test_test.#AnotherTest @protobuf(11,acme.test.test.AnotherTest,name=test_value)
 		}
 	}
 
@@ -91,7 +91,7 @@
 		// Holds a set of name/value pairs.
 		entries?: {
 			[string]: string
-		} @protobuf(1,type=map<string,string>)
+		} @protobuf(1,map[string]string)
 	}
 }
 
@@ -104,47 +104,47 @@
 // configuration.
 #CompressedAttributes: {
 	// The message-level dictionary.
-	words?: [...string] @protobuf(1)
+	words?: [...string] @protobuf(1,string)
 
 	// Holds attributes of type STRING, DNS_NAME, EMAIL_ADDRESS, URI
 	strings?: {
 		[string]: int32
-	} @protobuf(2,type=map<sint32,sint32>)
+	} @protobuf(2,map[sint32]sint32)
 
 	// Holds attributes of type INT64
 	int64s?: {
 		[string]: int64
-	} @protobuf(3,type=map<sint32,int64>)
+	} @protobuf(3,map[sint32]int64)
 
 	// Holds attributes of type DOUBLE
 	doubles?: {
 		[string]: float64
-	} @protobuf(4,type=map<sint32,double>)
+	} @protobuf(4,map[sint32]double)
 
 	// Holds attributes of type BOOL
 	bools?: {
 		[string]: bool
-	} @protobuf(5,type=map<sint32,bool>)
+	} @protobuf(5,map[sint32]bool)
 
 	// Holds attributes of type TIMESTAMP
 	time?: {
 		[string]: time_1.Time
-	} @protobuf(6,type=map<sint32,google.protobuf.Timestamp>,"(gogoproto.nullable)=false","(gogoproto.stdtime)")
+	} @protobuf(6,map[sint32]google.protobuf.Timestamp,"(gogoproto.nullable)=false","(gogoproto.stdtime)")
 
 	// Holds attributes of type DURATION
 	durations?: {
 		[string]: time_1.Duration
-	} @protobuf(7,type=map<sint32,google.protobuf.Duration>,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
+	} @protobuf(7,map[sint32]google.protobuf.Duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
 
 	// Holds attributes of type BYTES
 	bytes?: {
 		[string]: bytes_5
-	} @protobuf(8,type=map<sint32,bytes>)
+	} @protobuf(8,map[sint32]bytes)
 
 	// Holds attributes of type STRING_MAP
 	stringMaps?: {
 		[string]: #StringMap
-	} @protobuf(9,type=map<sint32,StringMap>,string_maps,"(gogoproto.nullable)=false")
+	} @protobuf(9,map[sint32]StringMap,string_maps,"(gogoproto.nullable)=false")
 }
 
 // A map of string to string. The keys and values in this map are dictionary
@@ -153,7 +153,7 @@
 	// Holds a set of name/value pairs.
 	entries?: {
 		[string]: int32
-	} @protobuf(1,type=map<sint32,sint32>)
+	} @protobuf(1,map[sint32]sint32)
 }
 
 let bytes_5 = bytes
diff --git a/encoding/protobuf/testdata/client_config.proto.out.cue b/encoding/protobuf/testdata/client_config.proto.out.cue
index febae34..c57dbeb 100644
--- a/encoding/protobuf/testdata/client_config.proto.out.cue
+++ b/encoding/protobuf/testdata/client_config.proto.out.cue
@@ -35,44 +35,44 @@
 	#FailPolicy_value: FAIL_OPEN: 0
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
-	policy?: #FailPolicy @protobuf(1)
+	policy?: #FailPolicy @protobuf(1,FailPolicy)
 
 	// Max retries on transport error.
-	maxRetry?: uint32 @protobuf(2,name=max_retry)
+	maxRetry?: uint32 @protobuf(2,uint32,name=max_retry)
 
 	// Base time to wait between retries.  Will be adjusted by exponential
 	// backoff and jitter.
-	baseRetryWait?: time.Duration @protobuf(3,type=google.protobuf.Duration,name=base_retry_wait)
+	baseRetryWait?: time.Duration @protobuf(3,google.protobuf.Duration,name=base_retry_wait)
 
 	// Max time to wait between retries.
-	maxRetryWait?: time.Duration @protobuf(4,type=google.protobuf.Duration,name=max_retry_wait)
+	maxRetryWait?: time.Duration @protobuf(4,google.protobuf.Duration,name=max_retry_wait)
 }
 
 // Defines the per-service client configuration.
 #ServiceConfig: {
 	// If true, do not call Mixer Check.
-	disableCheckCalls?: bool @protobuf(1,name=disable_check_calls)
+	disableCheckCalls?: bool @protobuf(1,bool,name=disable_check_calls)
 
 	// If true, do not call Mixer Report.
-	disableReportCalls?: bool @protobuf(2,name=disable_report_calls)
+	disableReportCalls?: bool @protobuf(2,bool,name=disable_report_calls)
 
 	// Send these attributes to Mixer in both Check and Report. This
 	// typically includes the "destination.service" attribute.
 	// In case of a per-route override, per-route attributes take precedence
 	// over the attributes supplied in the client configuration.
-	mixerAttributes?: v1.#Attributes @protobuf(3,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(3,Attributes,name=mixer_attributes)
 
 	// HTTP API specifications to generate API attributes.
-	httpApiSpec?: [...#HTTPAPISpec] @protobuf(4,name=http_api_spec)
+	httpApiSpec?: [...#HTTPAPISpec] @protobuf(4,HTTPAPISpec,name=http_api_spec)
 
 	// Quota specifications to generate quota requirements.
-	quotaSpec?: [...#QuotaSpec] @protobuf(5,name=quota_spec)
+	quotaSpec?: [...#QuotaSpec] @protobuf(5,QuotaSpec,name=quota_spec)
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
 	// This is the service-level policy. It overrides
 	// [mesh-level
 	// policy][istio.mixer.v1.config.client.TransportConfig.network_fail_policy].
-	networkFailPolicy?: #NetworkFailPolicy @protobuf(7,name=network_fail_policy)
+	networkFailPolicy?: #NetworkFailPolicy @protobuf(7,NetworkFailPolicy,name=network_fail_policy)
 
 	// Default attributes to forward to upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes.
@@ -86,27 +86,27 @@
 	// 3. forwarded attributes from the source filter config (if any);
 	// 4. forwarded attributes from the source route config (if any);
 	// 5. derived attributes from the request metadata.
-	forwardAttributes?: v1.#Attributes @protobuf(8,type=Attributes,name=forward_attributes)
+	forwardAttributes?: v1.#Attributes @protobuf(8,Attributes,name=forward_attributes)
 }
 
 // Defines the transport config on how to call Mixer.
 #TransportConfig: {
 	// The flag to disable check cache.
-	disableCheckCache?: bool @protobuf(1,name=disable_check_cache)
+	disableCheckCache?: bool @protobuf(1,bool,name=disable_check_cache)
 
 	// The flag to disable quota cache.
-	disableQuotaCache?: bool @protobuf(2,name=disable_quota_cache)
+	disableQuotaCache?: bool @protobuf(2,bool,name=disable_quota_cache)
 
 	// The flag to disable report batch.
-	disableReportBatch?: bool @protobuf(3,name=disable_report_batch)
+	disableReportBatch?: bool @protobuf(3,bool,name=disable_report_batch)
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
 	// This is the mesh level policy. The default value for policy is FAIL_OPEN.
-	networkFailPolicy?: #NetworkFailPolicy @protobuf(4,name=network_fail_policy)
+	networkFailPolicy?: #NetworkFailPolicy @protobuf(4,NetworkFailPolicy,name=network_fail_policy)
 
 	// Specify refresh interval to write Mixer client statistics to Envoy share
 	// memory. If not specified, the interval is 10 seconds.
-	statsUpdateInterval?: time.Duration @protobuf(5,type=google.protobuf.Duration,name=stats_update_interval)
+	statsUpdateInterval?: time.Duration @protobuf(5,google.protobuf.Duration,name=stats_update_interval)
 
 	// Name of the cluster that will forward check calls to a pool of mixer
 	// servers. Defaults to "mixer_server". By using different names for
@@ -116,7 +116,7 @@
 	//
 	// NOTE: Any value other than the default "mixer_server" will require the
 	// Istio Grafana dashboards to be reconfigured to use the new name.
-	checkCluster?: string @protobuf(6,name=check_cluster)
+	checkCluster?: string @protobuf(6,string,name=check_cluster)
 
 	// Name of the cluster that will forward report calls to a pool of mixer
 	// servers. Defaults to "mixer_server". By using different names for
@@ -126,62 +126,62 @@
 	//
 	// NOTE: Any value other than the default "mixer_server" will require the
 	// Istio Grafana dashboards to be reconfigured to use the new name.
-	reportCluster?: string @protobuf(7,name=report_cluster)
+	reportCluster?: string @protobuf(7,string,name=report_cluster)
 
 	// Default attributes to forward to Mixer upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes. These
 	// attributes are consumed by the proxy in front of mixer.
-	attributesForMixerProxy?: v1.#Attributes @protobuf(8,type=Attributes,name=attributes_for_mixer_proxy)
+	attributesForMixerProxy?: v1.#Attributes @protobuf(8,Attributes,name=attributes_for_mixer_proxy)
 }
 
 // Defines the client config for HTTP.
 #HttpClientConfig: {
 	// The transport config.
-	transport?: #TransportConfig @protobuf(1)
+	transport?: #TransportConfig @protobuf(1,TransportConfig)
 
 	// Map of control configuration indexed by destination.service. This
 	// is used to support per-service configuration for cases where a
 	// mixerclient serves multiple services.
 	serviceConfigs?: {
 		[string]: #ServiceConfig
-	} @protobuf(2,type=map<string,ServiceConfig>,service_configs)
+	} @protobuf(2,map[string]ServiceConfig,service_configs)
 
 	// Default destination service name if none was specified in the
 	// client request.
-	defaultDestinationService?: string @protobuf(3,name=default_destination_service)
+	defaultDestinationService?: string @protobuf(3,string,name=default_destination_service)
 
 	// Default attributes to send to Mixer in both Check and
 	// Report. This typically includes "destination.ip" and
 	// "destination.uid" attributes.
-	mixerAttributes?: v1.#Attributes @protobuf(4,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(4,Attributes,name=mixer_attributes)
 
 	// Default attributes to forward to upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes.
-	forwardAttributes?: v1.#Attributes @protobuf(5,type=Attributes,name=forward_attributes)
+	forwardAttributes?: v1.#Attributes @protobuf(5,Attributes,name=forward_attributes)
 }
 
 // Defines the client config for TCP.
 #TcpClientConfig: {
 	// The transport config.
-	transport?: #TransportConfig @protobuf(1)
+	transport?: #TransportConfig @protobuf(1,TransportConfig)
 
 	// Default attributes to send to Mixer in both Check and
 	// Report. This typically includes "destination.ip" and
 	// "destination.uid" attributes.
-	mixerAttributes?: v1.#Attributes @protobuf(2,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(2,Attributes,name=mixer_attributes)
 
 	// If set to true, disables Mixer check calls.
-	disableCheckCalls?: bool @protobuf(3,name=disable_check_calls)
+	disableCheckCalls?: bool @protobuf(3,bool,name=disable_check_calls)
 
 	// If set to true, disables Mixer check calls.
-	disableReportCalls?: bool @protobuf(4,name=disable_report_calls)
+	disableReportCalls?: bool @protobuf(4,bool,name=disable_report_calls)
 
 	// Quota specifications to generate quota requirements.
 	// It applies on the new TCP connections.
-	connectionQuotaSpec?: #QuotaSpec @protobuf(5,name=connection_quota_spec)
+	connectionQuotaSpec?: #QuotaSpec @protobuf(5,QuotaSpec,name=connection_quota_spec)
 
 	// Specify report interval to send periodical reports for long TCP
 	// connections. If not specified, the interval is 10 seconds. This interval
 	// should not be less than 1 second, otherwise it will be reset to 1 second.
-	reportInterval?: time.Duration @protobuf(6,type=google.protobuf.Duration,name=report_interval)
+	reportInterval?: time.Duration @protobuf(6,google.protobuf.Duration,name=report_interval)
 }
diff --git a/encoding/protobuf/testdata/gateway.proto.out.cue b/encoding/protobuf/testdata/gateway.proto.out.cue
index b2992d8..80ed7a1 100644
--- a/encoding/protobuf/testdata/gateway.proto.out.cue
+++ b/encoding/protobuf/testdata/gateway.proto.out.cue
@@ -205,7 +205,7 @@
 
 #Gateway: {
 	// REQUIRED: A list of server specifications.
-	servers?: [...#Server] @protobuf(1)
+	servers?: [...#Server] @protobuf(1,Server)
 
 	// REQUIRED: One or more labels that indicate a specific set of pods/VMs
 	// on which this gateway configuration should be applied. The scope of
@@ -214,7 +214,7 @@
 	// reside in the same namespace as the gateway workload instance.
 	selector?: {
 		[string]: string
-	} @protobuf(2,type=map<string,string>)
+	} @protobuf(2,map[string]string)
 	selector?: [name=_]: name
 }
 
@@ -282,7 +282,7 @@
 #Server: {
 	// REQUIRED: The Port on which the proxy should listen for incoming
 	// connections.
-	port?: #Port @protobuf(1)
+	port?: #Port @protobuf(1,Port)
 	port?: >10 & <100
 
 	// $hide_from_docs
@@ -290,7 +290,7 @@
 	// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar`
 	// (Linux abstract namespace). When using Unix domain sockets, the port
 	// number should be 0.
-	bind?: string @protobuf(4)
+	bind?: string @protobuf(4,string)
 
 	// REQUIRED. One or more hosts exposed by this gateway.
 	// While typically applicable to
@@ -316,12 +316,12 @@
 	// Private configurations (e.g., `exportTo` set to `.`) will not be
 	// available. Refer to the `exportTo` setting in `VirtualService`,
 	// `DestinationRule`, and `ServiceEntry` configurations for details.
-	hosts?: [...string] @protobuf(2)
+	hosts?: [...string] @protobuf(2,string)
 
 	#TLSOptions: {
 		// If set to true, the load balancer will send a 301 redirect for all
 		// http connections, asking the clients to use HTTPS.
-		httpsRedirect?: bool @protobuf(1,name=https_redirect)
+		httpsRedirect?: bool @protobuf(1,bool,name=https_redirect)
 
 		// TLS modes enforced by the proxy
 		#TLSmode:
@@ -359,21 +359,21 @@
 		// Optional: Indicates whether connections to this port should be
 		// secured using TLS. The value of this field determines how TLS is
 		// enforced.
-		mode?: #TLSmode @protobuf(2)
+		mode?: #TLSmode @protobuf(2,TLSmode)
 		// Extra comment.
 
 		// REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file
 		// holding the server-side TLS certificate to use.
-		serverCertificate?: string @protobuf(3,name=server_certificate)
+		serverCertificate?: string @protobuf(3,string,name=server_certificate)
 
 		// REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file
 		// holding the server's private key.
-		privateKey?: string @protobuf(4,name=private_key)
+		privateKey?: string @protobuf(4,string,name=private_key)
 
 		// REQUIRED if mode is `MUTUAL`. The path to a file containing
 		// certificate authority certificates to use in verifying a presented
 		// client side certificate.
-		caCertificates?: string @protobuf(5,name=ca_certificates)
+		caCertificates?: string @protobuf(5,string,name=ca_certificates)
 
 		// The credentialName stands for a unique identifier that can be used
 		// to identify the serverCertificate and the privateKey. The
@@ -391,11 +391,11 @@
 		// key, and the CA certificate (if using mutual TLS). Set the
 		// `ISTIO_META_USER_SDS` metadata variable in the gateway's proxy to
 		// enable the dynamic credential fetching feature.
-		credentialName?: string @protobuf(10,name=credential_name)
+		credentialName?: string @protobuf(10,string,name=credential_name)
 
 		// A list of alternate names to verify the subject identity in the
 		// certificate presented by the client.
-		subjectAltNames?: [...string] @protobuf(6,name=subject_alt_names)
+		subjectAltNames?: [...string] @protobuf(6,string,name=subject_alt_names)
 
 		// TLS protocol versions.
 		#TLSProtocol: "TLS_AUTO" | // Automatically choose the optimal TLS version.
@@ -413,38 +413,38 @@
 		}
 
 		// Optional: Minimum TLS protocol version.
-		minProtocolVersion?: #TLSProtocol @protobuf(7,name=min_protocol_version)
+		minProtocolVersion?: #TLSProtocol @protobuf(7,TLSProtocol,name=min_protocol_version)
 
 		// Optional: Maximum TLS protocol version.
-		maxProtocolVersion?: #TLSProtocol @protobuf(8,name=max_protocol_version)
+		maxProtocolVersion?: #TLSProtocol @protobuf(8,TLSProtocol,name=max_protocol_version)
 
 		// Optional: If specified, only support the specified cipher list.
 		// Otherwise default to the default cipher list supported by Envoy.
-		cipherSuites?: [...string] @protobuf(9,name=cipher_suites)
+		cipherSuites?: [...string] @protobuf(9,string,name=cipher_suites)
 	}
 
 	// Set of TLS related options that govern the server's behavior. Use
 	// these options to control if all http requests should be redirected to
 	// https, and the TLS modes to use.
-	tls?: #TLSOptions @protobuf(3)
+	tls?: #TLSOptions @protobuf(3,TLSOptions)
 
 	// The loopback IP endpoint or Unix domain socket to which traffic should
 	// be forwarded to by default. Format should be `127.0.0.1:PORT` or
 	// `unix:///path/to/socket` or `unix://@foobar` (Linux abstract namespace).
-	defaultEndpoint?: string @protobuf(5,name=default_endpoint)
+	defaultEndpoint?: string @protobuf(5,string,name=default_endpoint)
 }
 
 // Port describes the properties of a specific port of a service.
 #Port: {
 	// REQUIRED: A valid non-negative integer port number.
-	number?: uint32 @protobuf(1)
+	number?: uint32 @protobuf(1,uint32)
 
 	// REQUIRED: The protocol exposed on the port.
 	// MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS.
 	// TLS implies the connection will be routed based on the SNI header to
 	// the destination without terminating the TLS connection.
-	protocol?: string @protobuf(2)
+	protocol?: string @protobuf(2,string)
 
 	// Label assigned to the port.
-	name?: string @protobuf(3)
+	name?: string @protobuf(3,string)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor_proto_gen.cue
index 4cd99e6..3d39a19 100644
--- a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor_proto_gen.cue
@@ -75,76 +75,76 @@
 // The protocol compiler can output a FileDescriptorSet containing the .proto
 // files it parses.
 #FileDescriptorSet: {
-	file?: [...#FileDescriptorProto] @protobuf(1)
+	file?: [...#FileDescriptorProto] @protobuf(1,FileDescriptorProto)
 }
 
 // Describes a complete .proto file.
 #FileDescriptorProto: {
-	name?:    string @protobuf(1) // file name, relative to root of source tree
-	package?: string @protobuf(2) // e.g. "foo", "foo.bar", etc.
+	name?:    string @protobuf(1,string) // file name, relative to root of source tree
+	package?: string @protobuf(2,string) // e.g. "foo", "foo.bar", etc.
 
 	// Names of files imported by this file.
-	dependency?: [...string] @protobuf(3)
+	dependency?: [...string] @protobuf(3,string)
 
 	// Indexes of the public imported files in the dependency list above.
-	publicDependency?: [...int32] @protobuf(10,name=public_dependency)
+	publicDependency?: [...int32] @protobuf(10,int32,name=public_dependency)
 
 	// Indexes of the weak imported files in the dependency list.
 	// For Google-internal migration only. Do not use.
-	weakDependency?: [...int32] @protobuf(11,name=weak_dependency)
+	weakDependency?: [...int32] @protobuf(11,int32,name=weak_dependency)
 
 	// All top-level definitions in this file.
-	messageType?: [...#DescriptorProto] @protobuf(4,name=message_type)
-	enumType?: [...#EnumDescriptorProto] @protobuf(5,name=enum_type)
-	service?: [...#ServiceDescriptorProto] @protobuf(6)
-	extension?: [...#FieldDescriptorProto] @protobuf(7)
-	options?: #FileOptions @protobuf(8)
+	messageType?: [...#DescriptorProto] @protobuf(4,DescriptorProto,name=message_type)
+	enumType?: [...#EnumDescriptorProto] @protobuf(5,EnumDescriptorProto,name=enum_type)
+	service?: [...#ServiceDescriptorProto] @protobuf(6,ServiceDescriptorProto)
+	extension?: [...#FieldDescriptorProto] @protobuf(7,FieldDescriptorProto)
+	options?: #FileOptions @protobuf(8,FileOptions)
 
 	// This field contains optional information about the original source code.
 	// You may safely remove this entire field without harming runtime
 	// functionality of the descriptors -- the information is needed only by
 	// development tools.
-	sourceCodeInfo?: #SourceCodeInfo @protobuf(9,name=source_code_info)
+	sourceCodeInfo?: #SourceCodeInfo @protobuf(9,SourceCodeInfo,name=source_code_info)
 
 	// The syntax of the proto file.
 	// The supported values are "proto2" and "proto3".
-	syntax?: string @protobuf(12)
+	syntax?: string @protobuf(12,string)
 }
 
 // Describes a message type.
 #DescriptorProto: {
-	name?: string @protobuf(1)
-	field?: [...#FieldDescriptorProto] @protobuf(2)
-	extension?: [...#FieldDescriptorProto] @protobuf(6)
-	nestedType?: [...#DescriptorProto] @protobuf(3,name=nested_type)
-	enumType?: [...#EnumDescriptorProto] @protobuf(4,name=enum_type)
+	name?: string @protobuf(1,string)
+	field?: [...#FieldDescriptorProto] @protobuf(2,FieldDescriptorProto)
+	extension?: [...#FieldDescriptorProto] @protobuf(6,FieldDescriptorProto)
+	nestedType?: [...#DescriptorProto] @protobuf(3,DescriptorProto,name=nested_type)
+	enumType?: [...#EnumDescriptorProto] @protobuf(4,EnumDescriptorProto,name=enum_type)
 
 	#ExtensionRange: {
-		start?:   int32                  @protobuf(1) // Inclusive.
-		end?:     int32                  @protobuf(2) // Exclusive.
-		options?: #ExtensionRangeOptions @protobuf(3)
+		start?:   int32                  @protobuf(1,int32) // Inclusive.
+		end?:     int32                  @protobuf(2,int32) // Exclusive.
+		options?: #ExtensionRangeOptions @protobuf(3,ExtensionRangeOptions)
 	}
-	extensionRange?: [...#ExtensionRange] @protobuf(5,name=extension_range)
-	oneofDecl?: [...#OneofDescriptorProto] @protobuf(8,name=oneof_decl)
-	options?: #MessageOptions @protobuf(7)
+	extensionRange?: [...#ExtensionRange] @protobuf(5,ExtensionRange,name=extension_range)
+	oneofDecl?: [...#OneofDescriptorProto] @protobuf(8,OneofDescriptorProto,name=oneof_decl)
+	options?: #MessageOptions @protobuf(7,MessageOptions)
 
 	// Range of reserved tag numbers. Reserved tag numbers may not be used by
 	// fields or extension ranges in the same message. Reserved ranges may
 	// not overlap.
 	#ReservedRange: {
-		start?: int32 @protobuf(1) // Inclusive.
-		end?:   int32 @protobuf(2) // Exclusive.
+		start?: int32 @protobuf(1,int32) // Inclusive.
+		end?:   int32 @protobuf(2,int32) // Exclusive.
 	}
-	reservedRange?: [...#ReservedRange] @protobuf(9,name=reserved_range)
+	reservedRange?: [...#ReservedRange] @protobuf(9,ReservedRange,name=reserved_range)
 
 	// Reserved field names, which may not be used by fields in the same message.
 	// A given name may only be reserved once.
-	reservedName?: [...string] @protobuf(10,name=reserved_name)
+	reservedName?: [...string] @protobuf(10,string,name=reserved_name)
 }
 
 #ExtensionRangeOptions: {
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 // Describes a field within a message.
@@ -215,55 +215,55 @@
 		"LABEL_REQUIRED": 2
 		"LABEL_REPEATED": 3
 	}
-	name?:   string @protobuf(1)
-	number?: int32  @protobuf(3)
-	label?:  #Label @protobuf(4)
+	name?:   string @protobuf(1,string)
+	number?: int32  @protobuf(3,int32)
+	label?:  #Label @protobuf(4,Label)
 
 	// If type_name is set, this need not be set.  If both this and type_name
 	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-	type?: #Type @protobuf(5)
+	type?: #Type @protobuf(5,Type)
 
 	// For message and enum types, this is the name of the type.  If the name
 	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
 	// rules are used to find the type (i.e. first the nested types within this
 	// message are searched, then within the parent, on up to the root
 	// namespace).
-	typeName?: string @protobuf(6,name=type_name)
+	typeName?: string @protobuf(6,string,name=type_name)
 
 	// For extensions, this is the name of the type being extended.  It is
 	// resolved in the same manner as type_name.
-	extendee?: string @protobuf(2)
+	extendee?: string @protobuf(2,string)
 
 	// For numeric types, contains the original text representation of the value.
 	// For booleans, "true" or "false".
 	// For strings, contains the default text contents (not escaped in any way).
 	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
 	// TODO(kenton):  Base-64 encode?
-	defaultValue?: string @protobuf(7,name=default_value)
+	defaultValue?: string @protobuf(7,string,name=default_value)
 
 	// If set, gives the index of a oneof in the containing type's oneof_decl
 	// list.  This field is a member of that oneof.
-	oneofIndex?: int32 @protobuf(9,name=oneof_index)
+	oneofIndex?: int32 @protobuf(9,int32,name=oneof_index)
 
 	// JSON name of this field. The value is set by protocol compiler. If the
 	// user has set a "json_name" option on this field, that option's value
 	// will be used. Otherwise, it's deduced from the field's name by converting
 	// it to camelCase.
-	jsonName?: string        @protobuf(10,name=json_name)
-	options?:  #FieldOptions @protobuf(8)
+	jsonName?: string        @protobuf(10,string,name=json_name)
+	options?:  #FieldOptions @protobuf(8,FieldOptions)
 }
 
 // Describes a oneof.
 #OneofDescriptorProto: {
-	name?:    string        @protobuf(1)
-	options?: #OneofOptions @protobuf(2)
+	name?:    string        @protobuf(1,string)
+	options?: #OneofOptions @protobuf(2,OneofOptions)
 }
 
 // Describes an enum type.
 #EnumDescriptorProto: {
-	name?: string @protobuf(1)
-	value?: [...#EnumValueDescriptorProto] @protobuf(2)
-	options?: #EnumOptions @protobuf(3)
+	name?: string @protobuf(1,string)
+	value?: [...#EnumValueDescriptorProto] @protobuf(2,EnumValueDescriptorProto)
+	options?: #EnumOptions @protobuf(3,EnumOptions)
 
 	// Range of reserved numeric values. Reserved values may not be used by
 	// entries in the same enum. Reserved ranges may not overlap.
@@ -272,49 +272,49 @@
 	// is inclusive such that it can appropriately represent the entire int32
 	// domain.
 	#EnumReservedRange: {
-		start?: int32 @protobuf(1) // Inclusive.
-		end?:   int32 @protobuf(2) // Inclusive.
+		start?: int32 @protobuf(1,int32) // Inclusive.
+		end?:   int32 @protobuf(2,int32) // Inclusive.
 	}
 
 	// Range of reserved numeric values. Reserved numeric values may not be used
 	// by enum values in the same enum declaration. Reserved ranges may not
 	// overlap.
-	reservedRange?: [...#EnumReservedRange] @protobuf(4,name=reserved_range)
+	reservedRange?: [...#EnumReservedRange] @protobuf(4,EnumReservedRange,name=reserved_range)
 
 	// Reserved enum value names, which may not be reused. A given name may only
 	// be reserved once.
-	reservedName?: [...string] @protobuf(5,name=reserved_name)
+	reservedName?: [...string] @protobuf(5,string,name=reserved_name)
 }
 
 // Describes a value within an enum.
 #EnumValueDescriptorProto: {
-	name?:    string            @protobuf(1)
-	number?:  int32             @protobuf(2)
-	options?: #EnumValueOptions @protobuf(3)
+	name?:    string            @protobuf(1,string)
+	number?:  int32             @protobuf(2,int32)
+	options?: #EnumValueOptions @protobuf(3,EnumValueOptions)
 }
 
 // Describes a service.
 #ServiceDescriptorProto: {
-	name?: string @protobuf(1)
-	method?: [...#MethodDescriptorProto] @protobuf(2)
-	options?: #ServiceOptions @protobuf(3)
+	name?: string @protobuf(1,string)
+	method?: [...#MethodDescriptorProto] @protobuf(2,MethodDescriptorProto)
+	options?: #ServiceOptions @protobuf(3,ServiceOptions)
 }
 
 // Describes a method of a service.
 #MethodDescriptorProto: {
-	name?: string @protobuf(1)
+	name?: string @protobuf(1,string)
 
 	// Input and output type names.  These are resolved in the same way as
 	// FieldDescriptorProto.type_name, but must refer to a message type.
-	inputType?:  string         @protobuf(2,name=input_type)
-	outputType?: string         @protobuf(3,name=output_type)
-	options?:    #MethodOptions @protobuf(4)
+	inputType?:  string         @protobuf(2,string,name=input_type)
+	outputType?: string         @protobuf(3,string,name=output_type)
+	options?:    #MethodOptions @protobuf(4,MethodOptions)
 
 	// Identifies if client streams multiple client messages
-	clientStreaming?: bool @protobuf(5,name=client_streaming,"default=false")
+	clientStreaming?: bool @protobuf(5,bool,name=client_streaming,"default=false")
 
 	// Identifies if server streams multiple server messages
-	serverStreaming?: bool @protobuf(6,name=server_streaming,"default=false")
+	serverStreaming?: bool @protobuf(6,bool,name=server_streaming,"default=false")
 }
 
 #FileOptions: {
@@ -322,14 +322,14 @@
 	// placed.  By default, the proto package is used, but this is often
 	// inappropriate because proto packages do not normally start with backwards
 	// domain names.
-	javaPackage?: string @protobuf(1,name=java_package)
+	javaPackage?: string @protobuf(1,string,name=java_package)
 
 	// If set, all the classes from the .proto file are wrapped in a single
 	// outer class with the given name.  This applies to both Proto1
 	// (equivalent to the old "--one_java_file" option) and Proto2 (where
 	// a .proto always translates to a single class, but you may want to
 	// explicitly choose the class name).
-	javaOuterClassname?: string @protobuf(8,name=java_outer_classname)
+	javaOuterClassname?: string @protobuf(8,string,name=java_outer_classname)
 
 	// If set true, then the Java code generator will generate a separate .java
 	// file for each top-level message, enum, and service defined in the .proto
@@ -337,10 +337,10 @@
 	// named by java_outer_classname.  However, the outer class will still be
 	// generated to contain the file's getDescriptor() method as well as any
 	// top-level extensions defined in the file.
-	javaMultipleFiles?: bool @protobuf(10,name=java_multiple_files,"default=false")
+	javaMultipleFiles?: bool @protobuf(10,bool,name=java_multiple_files,"default=false")
 
 	// This option does nothing.
-	javaGenerateEqualsAndHash?: bool @protobuf(20,name=java_generate_equals_and_hash,deprecated)
+	javaGenerateEqualsAndHash?: bool @protobuf(20,bool,name=java_generate_equals_and_hash,deprecated)
 
 	// If set true, then the Java2 code generator will generate code that
 	// throws an exception whenever an attempt is made to assign a non-UTF-8
@@ -348,7 +348,7 @@
 	// Message reflection will do the same.
 	// However, an extension field still accepts non-UTF-8 byte sequences.
 	// This option has no effect on when used with the lite runtime.
-	javaStringCheckUtf8?: bool @protobuf(27,name=java_string_check_utf8,"default=false")
+	javaStringCheckUtf8?: bool @protobuf(27,bool,name=java_string_check_utf8,"default=false")
 
 	// Generated classes can be optimized for speed or code size.
 	#OptimizeMode: "SPEED" | // Generate complete code for parsing, serialization,
@@ -362,14 +362,14 @@
 		"CODE_SIZE":    2 // Use ReflectionOps to implement these methods.
 		"LITE_RUNTIME": 3
 	}
-	optimizeFor?: #OptimizeMode @protobuf(9,name=optimize_for,"default=SPEED")
+	optimizeFor?: #OptimizeMode @protobuf(9,OptimizeMode,name=optimize_for,"default=SPEED")
 
 	// Sets the Go package where structs generated from this .proto will be
 	// placed. If omitted, the Go package will be derived from the following:
 	//   - The basename of the package import path, if provided.
 	//   - Otherwise, the package statement in the .proto file, if present.
 	//   - Otherwise, the basename of the .proto file, without extension.
-	goPackage?: string @protobuf(11,name=go_package)
+	goPackage?: string @protobuf(11,string,name=go_package)
 
 	// Should generic services be generated in each language?  "Generic" services
 	// are not specific to any particular RPC system.  They are generated by the
@@ -381,56 +381,56 @@
 	// that generate code specific to your particular RPC system.  Therefore,
 	// these default to false.  Old code which depends on generic services should
 	// explicitly set them to true.
-	ccGenericServices?:   bool @protobuf(16,name=cc_generic_services,"default=false")
-	javaGenericServices?: bool @protobuf(17,name=java_generic_services,"default=false")
-	pyGenericServices?:   bool @protobuf(18,name=py_generic_services,"default=false")
-	phpGenericServices?:  bool @protobuf(42,name=php_generic_services,"default=false")
+	ccGenericServices?:   bool @protobuf(16,bool,name=cc_generic_services,"default=false")
+	javaGenericServices?: bool @protobuf(17,bool,name=java_generic_services,"default=false")
+	pyGenericServices?:   bool @protobuf(18,bool,name=py_generic_services,"default=false")
+	phpGenericServices?:  bool @protobuf(42,bool,name=php_generic_services,"default=false")
 
 	// Is this file deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for everything in the file, or it will be completely ignored; in the very
 	// least, this is a formalization for deprecating files.
-	deprecated?: bool @protobuf(23,"default=false")
+	deprecated?: bool @protobuf(23,bool,"default=false")
 
 	// Enables the use of arenas for the proto messages in this file. This applies
 	// only to generated classes for C++.
-	ccEnableArenas?: bool @protobuf(31,name=cc_enable_arenas,"default=false")
+	ccEnableArenas?: bool @protobuf(31,bool,name=cc_enable_arenas,"default=false")
 
 	// Sets the objective c class prefix which is prepended to all objective c
 	// generated classes from this .proto. There is no default.
-	objcClassPrefix?: string @protobuf(36,name=objc_class_prefix)
+	objcClassPrefix?: string @protobuf(36,string,name=objc_class_prefix)
 
 	// Namespace for generated classes; defaults to the package.
-	csharpNamespace?: string @protobuf(37,name=csharp_namespace)
+	csharpNamespace?: string @protobuf(37,string,name=csharp_namespace)
 
 	// By default Swift generators will take the proto package and CamelCase it
 	// replacing '.' with underscore and use that to prefix the types/symbols
 	// defined. When this options is provided, they will use this value instead
 	// to prefix the types/symbols defined.
-	swiftPrefix?: string @protobuf(39,name=swift_prefix)
+	swiftPrefix?: string @protobuf(39,string,name=swift_prefix)
 
 	// Sets the php class prefix which is prepended to all php generated classes
 	// from this .proto. Default is empty.
-	phpClassPrefix?: string @protobuf(40,name=php_class_prefix)
+	phpClassPrefix?: string @protobuf(40,string,name=php_class_prefix)
 
 	// Use this option to change the namespace of php generated classes. Default
 	// is empty. When this option is empty, the package name will be used for
 	// determining the namespace.
-	phpNamespace?: string @protobuf(41,name=php_namespace)
+	phpNamespace?: string @protobuf(41,string,name=php_namespace)
 
 	// Use this option to change the namespace of php generated metadata classes.
 	// Default is empty. When this option is empty, the proto file name will be
 	// used for determining the namespace.
-	phpMetadataNamespace?: string @protobuf(44,name=php_metadata_namespace)
+	phpMetadataNamespace?: string @protobuf(44,string,name=php_metadata_namespace)
 
 	// Use this option to change the package of ruby generated classes. Default
 	// is empty. When this option is not set, the package name will be used for
 	// determining the ruby package.
-	rubyPackage?: string @protobuf(45,name=ruby_package)
+	rubyPackage?: string @protobuf(45,string,name=ruby_package)
 
 	// The parser stores options it doesn't recognize here.
 	// See the documentation for the "Options" section above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #MessageOptions: {
@@ -452,18 +452,18 @@
 	//
 	// Because this is an option, the above two restrictions are not enforced by
 	// the protocol compiler.
-	messageSetWireFormat?: bool @protobuf(1,name=message_set_wire_format,"default=false")
+	messageSetWireFormat?: bool @protobuf(1,bool,name=message_set_wire_format,"default=false")
 
 	// Disables the generation of the standard "descriptor()" accessor, which can
 	// conflict with a field of the same name.  This is meant to make migration
 	// from proto1 easier; new code should avoid fields named "descriptor".
-	noStandardDescriptorAccessor?: bool @protobuf(2,name=no_standard_descriptor_accessor,"default=false")
+	noStandardDescriptorAccessor?: bool @protobuf(2,bool,name=no_standard_descriptor_accessor,"default=false")
 
 	// Is this message deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the message, or it will be completely ignored; in the very least,
 	// this is a formalization for deprecating messages.
-	deprecated?: bool @protobuf(3,"default=false")
+	deprecated?: bool @protobuf(3,bool,"default=false")
 
 	// Whether the message is an automatically generated map entry type for the
 	// maps field.
@@ -486,10 +486,10 @@
 	// NOTE: Do not set the option in .proto files. Always use the maps syntax
 	// instead. The option should only be implicitly set by the proto compiler
 	// parser.
-	mapEntry?: bool @protobuf(7,name=map_entry)
+	mapEntry?: bool @protobuf(7,bool,name=map_entry)
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #FieldOptions: {
@@ -497,7 +497,7 @@
 	// representation of the field than it normally would.  See the specific
 	// options below.  This option is not yet implemented in the open source
 	// release -- sorry, we'll try to include it in a future version!
-	ctype?: #CType @protobuf(1,"default=STRING")
+	ctype?: #CType @protobuf(1,CType,"default=STRING")
 	#CType:
 		// Default mode.
 		"STRING" |
@@ -515,7 +515,7 @@
 	// writing the tag and type for each element, the entire array is encoded as
 	// a single length-delimited blob. In proto3, only explicit setting it to
 	// false will avoid using packed encoding.
-	packed?: bool @protobuf(2)
+	packed?: bool @protobuf(2,bool)
 
 	// The jstype option determines the JavaScript type used for values of the
 	// field.  The option is permitted only for 64 bit integral and fixed types
@@ -528,7 +528,7 @@
 	//
 	// This option is an enum to permit additional types to be added, e.g.
 	// goog.math.Integer.
-	jstype?: #JSType @protobuf(6,"default=JS_NORMAL")
+	jstype?: #JSType @protobuf(6,JSType,"default=JS_NORMAL")
 	#JSType:
 		// Use the default type.
 		"JS_NORMAL" |
@@ -573,39 +573,39 @@
 	// implementation must either *always* check its required fields, or *never*
 	// check its required fields, regardless of whether or not the message has
 	// been parsed.
-	lazy?: bool @protobuf(5,"default=false")
+	lazy?: bool @protobuf(5,bool,"default=false")
 
 	// Is this field deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for accessors, or it will be completely ignored; in the very least, this
 	// is a formalization for deprecating fields.
-	deprecated?: bool @protobuf(3,"default=false")
+	deprecated?: bool @protobuf(3,bool,"default=false")
 
 	// For Google-internal migration only. Do not use.
-	weak?: bool @protobuf(10,"default=false")
+	weak?: bool @protobuf(10,bool,"default=false")
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #OneofOptions: {
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #EnumOptions: {
 	// Set this option to true to allow mapping different tag names to the same
 	// value.
-	allowAlias?: bool @protobuf(2,name=allow_alias)
+	allowAlias?: bool @protobuf(2,bool,name=allow_alias)
 
 	// Is this enum deprecated?
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the enum, or it will be completely ignored; in the very least, this
 	// is a formalization for deprecating enums.
-	deprecated?: bool @protobuf(3,"default=false")
+	deprecated?: bool @protobuf(3,bool,"default=false")
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #EnumValueOptions: {
@@ -613,10 +613,10 @@
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the enum value, or it will be completely ignored; in the very least,
 	// this is a formalization for deprecating enum values.
-	deprecated?: bool @protobuf(1,"default=false")
+	deprecated?: bool @protobuf(1,bool,"default=false")
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #ServiceOptions: {
@@ -629,10 +629,10 @@
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the service, or it will be completely ignored; in the very least,
 	// this is a formalization for deprecating services.
-	deprecated?: bool @protobuf(33,"default=false")
+	deprecated?: bool @protobuf(33,bool,"default=false")
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 #MethodOptions: {
@@ -645,7 +645,7 @@
 	// Depending on the target platform, this can emit Deprecated annotations
 	// for the method, or it will be completely ignored; in the very least,
 	// this is a formalization for deprecating methods.
-	deprecated?: bool @protobuf(33,"default=false")
+	deprecated?: bool @protobuf(33,bool,"default=false")
 
 	// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
 	// or neither? HTTP based RPC implementation may choose GET verb for safe
@@ -659,10 +659,10 @@
 		"NO_SIDE_EFFECTS":     1
 		"IDEMPOTENT":          2
 	}
-	idempotencyLevel?: #IdempotencyLevel @protobuf(34,name=idempotency_level,"default=IDEMPOTENCY_UNKNOWN")
+	idempotencyLevel?: #IdempotencyLevel @protobuf(34,IdempotencyLevel,name=idempotency_level,"default=IDEMPOTENCY_UNKNOWN")
 
 	// The parser stores options it doesn't recognize here. See above.
-	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,name=uninterpreted_option)
+	uninterpretedOption?: [...#UninterpretedOption] @protobuf(999,UninterpretedOption,name=uninterpreted_option)
 }
 
 // A message representing a option the parser does not recognize. This only
@@ -678,19 +678,19 @@
 	// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
 	// "foo.(bar.baz).qux".
 	#NamePart: {
-		namePart?:    string @protobuf(1,name=name_part)
-		isExtension?: bool   @protobuf(2,name=is_extension)
+		namePart?:    string @protobuf(1,string,name=name_part)
+		isExtension?: bool   @protobuf(2,bool,name=is_extension)
 	}
-	name?: [...#NamePart] @protobuf(2)
+	name?: [...#NamePart] @protobuf(2,NamePart)
 
 	// The value of the uninterpreted option, in whatever type the tokenizer
 	// identified it as during parsing. Exactly one of these should be set.
-	identifierValue?:  string  @protobuf(3,name=identifier_value)
-	positiveIntValue?: uint64  @protobuf(4,name=positive_int_value)
-	negativeIntValue?: int64   @protobuf(5,name=negative_int_value)
-	doubleValue?:      float64 @protobuf(6,type=double,name=double_value)
-	stringValue?:      bytes   @protobuf(7,name=string_value)
-	aggregateValue?:   string  @protobuf(8,name=aggregate_value)
+	identifierValue?:  string  @protobuf(3,string,name=identifier_value)
+	positiveIntValue?: uint64  @protobuf(4,uint64,name=positive_int_value)
+	negativeIntValue?: int64   @protobuf(5,int64,name=negative_int_value)
+	doubleValue?:      float64 @protobuf(6,double,name=double_value)
+	stringValue?:      bytes   @protobuf(7,bytes,name=string_value)
+	aggregateValue?:   string  @protobuf(8,string,name=aggregate_value)
 }
 
 // Encapsulates information about the original source file from which a
@@ -739,7 +739,7 @@
 	// - Code which tries to interpret locations should probably be designed to
 	//   ignore those that it doesn't understand, as more types of locations could
 	//   be recorded in the future.
-	location?: [...#Location] @protobuf(1)
+	location?: [...#Location] @protobuf(1,Location)
 
 	#Location: {
 		// Identifies which part of the FileDescriptorProto was defined at this
@@ -765,14 +765,14 @@
 		//   [ 4, 3, 2, 7 ]
 		// this path refers to the whole field declaration (from the beginning
 		// of the label to the terminating semicolon).
-		path?: [...int32] @protobuf(1,packed)
+		path?: [...int32] @protobuf(1,int32,packed)
 
 		// Always has exactly three or four elements: start line, start column,
 		// end line (optional, otherwise assumed same as start line), end column.
 		// These are packed into a single field for efficiency.  Note that line
 		// and column numbers are zero-based -- typically you will want to add
 		// 1 to each before displaying to a user.
-		span?: [...int32] @protobuf(2,packed)
+		span?: [...int32] @protobuf(2,int32,packed)
 
 		// If this SourceCodeInfo represents a complete declaration, these are any
 		// comments appearing before and after the declaration which appear to be
@@ -821,9 +821,9 @@
 		//   optional int32 grault = 6;
 		//
 		//   // ignored detached comments.
-		leadingComments?:  string @protobuf(3,name=leading_comments)
-		trailingComments?: string @protobuf(4,name=trailing_comments)
-		leadingDetachedComments?: [...string] @protobuf(6,name=leading_detached_comments)
+		leadingComments?:  string @protobuf(3,string,name=leading_comments)
+		trailingComments?: string @protobuf(4,string,name=trailing_comments)
+		leadingDetachedComments?: [...string] @protobuf(6,string,name=leading_detached_comments)
 	}
 }
 
@@ -833,23 +833,23 @@
 #GeneratedCodeInfo: {
 	// An Annotation connects some span of text in generated code to an element
 	// of its generating .proto file.
-	annotation?: [...#Annotation] @protobuf(1)
+	annotation?: [...#Annotation] @protobuf(1,Annotation)
 
 	#Annotation: {
 		// Identifies the element in the original source .proto file. This field
 		// is formatted the same as SourceCodeInfo.Location.path.
-		path?: [...int32] @protobuf(1,packed)
+		path?: [...int32] @protobuf(1,int32,packed)
 
 		// Identifies the filesystem path to the original source .proto.
-		sourceFile?: string @protobuf(2,name=source_file)
+		sourceFile?: string @protobuf(2,string,name=source_file)
 
 		// Identifies the starting offset in bytes in the generated code
 		// that relates to the identified object.
-		begin?: int32 @protobuf(3)
+		begin?: int32 @protobuf(3,int32)
 
 		// Identifies the ending offset in bytes in the generated code that
 		// relates to the identified offset. The end offset should be one past
 		// the last relevant byte (so the length of the text = end - begin).
-		end?: int32 @protobuf(4)
+		end?: int32 @protobuf(4,int32)
 	}
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/google.golang.org/genproto/googleapis/rpc/status/status_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/google.golang.org/genproto/googleapis/rpc/status/status_proto_gen.cue
index 2bfc322..e65ebb8 100644
--- a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/google.golang.org/genproto/googleapis/rpc/status/status_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/google.golang.org/genproto/googleapis/rpc/status/status_proto_gen.cue
@@ -69,13 +69,13 @@
 #Status: {
 	// The status code, which should be an enum value of
 	// [google.rpc.Code][google.rpc.Code].
-	code?: int32 @protobuf(1)
+	code?: int32 @protobuf(1,int32)
 
 	// A developer-facing error message, which should be in English. Any
 	// user-facing error message should be localized and sent in the
 	// [google.rpc.Status.details][google.rpc.Status.details] field, or localized
 	// by the client.
-	message?: string @protobuf(2)
+	message?: string @protobuf(2,string)
 
 	// A list of messages that carry the error details.  There is a common set of
 	// message types for APIs to use.
@@ -83,5 +83,5 @@
 		// A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `type.googleapis.com/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted).
 		// The remaining fields of this object correspond to fields of the proto messsage. If the embedded message is well-known and has a custom JSON representation, that representation is assigned to the 'value' field.
 		"@type": string
-	}] @protobuf(3,type=google.protobuf.Any)
+	}] @protobuf(3,google.protobuf.Any)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test/test_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test/test_proto_gen.cue
index 7946c97..f822f29 100644
--- a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test/test_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test/test_proto_gen.cue
@@ -1,5 +1,5 @@
 package test_test
 
 #AnotherTest: {
-	test?: int32 @protobuf(1)
+	test?: int32 @protobuf(1,int32)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue
index 6963a32..88b0846 100644
--- a/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/cue.mod/gen/googleapis.com/acme/test/test_proto_gen.cue
@@ -4,5 +4,5 @@
 	// doc comment
 	@protobuf(option (yoyo.foo)=true) // line comment
 	@protobuf(option (yoyo.bar)=false)
-	test?: int32 @protobuf(1)
+	test?: int32 @protobuf(1,int32)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/attributes_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/attributes_proto_gen.cue
index 92a3e38..5d8217b 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/attributes_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/attributes_proto_gen.cue
@@ -21,12 +21,12 @@
 )
 
 #StructWrap: {
-	struct?: {} @protobuf(1,type=google.protobuf.Struct)
-	any?: _ @protobuf(2,type=google.protobuf.Value)
-	listVal?: [...] @protobuf(3,type=google.protobuf.ListValue)
-	boolVal?:   bool   @protobuf(4,type=google.protobuf.BoolValue)
-	stringVal?: string @protobuf(5,type=google.protobuf.StringValue)
-	numberVal?: number @protobuf(6,type=google.protobuf.NumberValue)
+	struct?: {} @protobuf(1,google.protobuf.Struct)
+	any?: _ @protobuf(2,google.protobuf.Value)
+	listVal?: [...] @protobuf(3,google.protobuf.ListValue)
+	boolVal?:   bool   @protobuf(4,google.protobuf.BoolValue)
+	stringVal?: string @protobuf(5,google.protobuf.StringValue)
+	numberVal?: number @protobuf(6,google.protobuf.NumberValue)
 }
 
 // Attributes represents a set of typed name/value pairs. Many of Mixer's
@@ -50,39 +50,39 @@
 	// A map of attribute name to its value.
 	attributes?: {
 		[string]: #AttributeValue
-	} @protobuf(1,type=map<string,AttributeValue>)
+	} @protobuf(1,map[string]AttributeValue)
 
 	// Specifies one attribute value with different type.
 	#AttributeValue: {
 		// The attribute value.
 		{} | {
 			// Used for values of type STRING, DNS_NAME, EMAIL_ADDRESS, and URI
-			stringValue: string @protobuf(2,name=string_value)
+			stringValue: string @protobuf(2,string,name=string_value)
 		} | {
 			// Used for values of type INT64
-			int64Value: int64 @protobuf(3,name=int64_value)
+			int64Value: int64 @protobuf(3,int64,name=int64_value)
 		} | {
 			// Used for values of type DOUBLE
-			doubleValue: float64 @protobuf(4,type=double,name=double_value)
+			doubleValue: float64 @protobuf(4,double,name=double_value)
 		} | {
 			// Used for values of type BOOL
-			boolValue: bool @protobuf(5,name=bool_value)
+			boolValue: bool @protobuf(5,bool,name=bool_value)
 		} | {
 			// Used for values of type BYTES
-			bytesValue: bytes @protobuf(6,name=bytes_value)
+			bytesValue: bytes @protobuf(6,bytes,name=bytes_value)
 		} | {
 			// Used for values of type TIMESTAMP
-			timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
+			timestampValue: time.Time @protobuf(7,google.protobuf.Timestamp,name=timestamp_value)
 		} | {
 			// Used for values of type DURATION
-			durationValue: time.Duration @protobuf(8,type=google.protobuf.Duration,name=duration_value)
+			durationValue: time.Duration @protobuf(8,google.protobuf.Duration,name=duration_value)
 		} | {
 			// Used for values of type STRING_MAP
-			stringMapValue: #StringMap @protobuf(9,name=string_map_value)
+			stringMapValue: #StringMap @protobuf(9,StringMap,name=string_map_value)
 		} | {
-			testValue: test.#Test @protobuf(10,type=acme.test.Test,name=test_value)
+			testValue: test.#Test @protobuf(10,acme.test.Test,name=test_value)
 		} | {
-			testValue: test_test.#AnotherTest @protobuf(11,type=acme.test.test.AnotherTest,name=test_value)
+			testValue: test_test.#AnotherTest @protobuf(11,acme.test.test.AnotherTest,name=test_value)
 		}
 	}
 
@@ -91,7 +91,7 @@
 		// Holds a set of name/value pairs.
 		entries?: {
 			[string]: string
-		} @protobuf(1,type=map<string,string>)
+		} @protobuf(1,map[string]string)
 	}
 }
 
@@ -104,47 +104,47 @@
 // configuration.
 #CompressedAttributes: {
 	// The message-level dictionary.
-	words?: [...string] @protobuf(1)
+	words?: [...string] @protobuf(1,string)
 
 	// Holds attributes of type STRING, DNS_NAME, EMAIL_ADDRESS, URI
 	strings?: {
 		[string]: int32
-	} @protobuf(2,type=map<sint32,sint32>)
+	} @protobuf(2,map[sint32]sint32)
 
 	// Holds attributes of type INT64
 	int64s?: {
 		[string]: int64
-	} @protobuf(3,type=map<sint32,int64>)
+	} @protobuf(3,map[sint32]int64)
 
 	// Holds attributes of type DOUBLE
 	doubles?: {
 		[string]: float64
-	} @protobuf(4,type=map<sint32,double>)
+	} @protobuf(4,map[sint32]double)
 
 	// Holds attributes of type BOOL
 	bools?: {
 		[string]: bool
-	} @protobuf(5,type=map<sint32,bool>)
+	} @protobuf(5,map[sint32]bool)
 
 	// Holds attributes of type TIMESTAMP
 	time?: {
 		[string]: time_1.Time
-	} @protobuf(6,type=map<sint32,google.protobuf.Timestamp>,"(gogoproto.nullable)=false","(gogoproto.stdtime)")
+	} @protobuf(6,map[sint32]google.protobuf.Timestamp,"(gogoproto.nullable)=false","(gogoproto.stdtime)")
 
 	// Holds attributes of type DURATION
 	durations?: {
 		[string]: time_1.Duration
-	} @protobuf(7,type=map<sint32,google.protobuf.Duration>,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
+	} @protobuf(7,map[sint32]google.protobuf.Duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
 
 	// Holds attributes of type BYTES
 	bytes?: {
 		[string]: bytes_5
-	} @protobuf(8,type=map<sint32,bytes>)
+	} @protobuf(8,map[sint32]bytes)
 
 	// Holds attributes of type STRING_MAP
 	stringMaps?: {
 		[string]: #StringMap
-	} @protobuf(9,type=map<sint32,StringMap>,string_maps,"(gogoproto.nullable)=false")
+	} @protobuf(9,map[sint32]StringMap,string_maps,"(gogoproto.nullable)=false")
 }
 
 // A map of string to string. The keys and values in this map are dictionary
@@ -153,7 +153,7 @@
 	// Holds a set of name/value pairs.
 	entries?: {
 		[string]: int32
-	} @protobuf(1,type=map<sint32,sint32>)
+	} @protobuf(1,map[sint32]sint32)
 }
 
 let bytes_5 = bytes
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/api_spec_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/api_spec_proto_gen.cue
index 02a9b1a..e94dda1 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/api_spec_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/api_spec_proto_gen.cue
@@ -74,10 +74,10 @@
 	// List of attributes that are generated when *any* of the HTTP
 	// patterns match. This list typically includes the "api.service"
 	// and "api.version" attributes.
-	attributes?: v1.#Attributes @protobuf(1,type=Attributes)
+	attributes?: v1.#Attributes @protobuf(1,Attributes)
 
 	// List of HTTP patterns to match.
-	patterns?: [...#HTTPAPISpecPattern] @protobuf(2)
+	patterns?: [...#HTTPAPISpecPattern] @protobuf(2,HTTPAPISpecPattern)
 
 	// List of APIKey that describes how to extract an API-KEY from an
 	// HTTP request. The first API-Key match found in the list is used,
@@ -88,7 +88,7 @@
 	//
 	//     `query: key, `query: api_key`, and then `header: x-api-key`
 	//
-	apiKeys?: [...#APIKey] @protobuf(3,name=api_keys)
+	apiKeys?: [...#APIKey] @protobuf(3,APIKey,name=api_keys)
 }
 
 // HTTPAPISpecPattern defines a single pattern to match against
@@ -108,12 +108,12 @@
 	// List of attributes that are generated if the HTTP request matches
 	// the specified http_method and uri_template. This typically
 	// includes the "api.operation" attribute.
-	attributes?: v1.#Attributes @protobuf(1,type=Attributes)
+	attributes?: v1.#Attributes @protobuf(1,Attributes)
 
 	// HTTP request method to match against as defined by
 	// [rfc7231](https://tools.ietf.org/html/rfc7231#page-21). For
 	// example: GET, HEAD, POST, PUT, DELETE.
-	httpMethod?: string @protobuf(2,name=http_method)
+	httpMethod?: string @protobuf(2,string,name=http_method)
 	{} | {
 		// URI template to match against as defined by
 		// [rfc6570](https://tools.ietf.org/html/rfc6570). For example, the
@@ -124,7 +124,7 @@
 		//     /dictionary/{term:1}/{term}
 		//     /search{?q*,lang}
 		//
-		uriTemplate: string @protobuf(3,name=uri_template)
+		uriTemplate: string @protobuf(3,string,name=uri_template)
 	} | {
 		// EXPERIMENTAL:
 		//
@@ -134,7 +134,7 @@
 		//
 		//     "^/pets/(.*?)?"
 		//
-		regex: string @protobuf(4)
+		regex: string @protobuf(4,string)
 	}
 }
 
@@ -153,7 +153,7 @@
 		//
 		//     GET /something?api_key=abcdef12345
 		//
-		query: string @protobuf(1)
+		query: string @protobuf(1,string)
 	} | {
 		// API key is sent in a request header. `header` represents the
 		// header name.
@@ -164,7 +164,7 @@
 		//     GET /something HTTP/1.1
 		//     X-API-Key: abcdef12345
 		//
-		header: string @protobuf(2)
+		header: string @protobuf(2,string)
 	} | {
 		// API key is sent in a
 		// [cookie](https://swagger.io/docs/specification/authentication/cookie-authentication),
@@ -175,7 +175,7 @@
 		//     GET /something HTTP/1.1
 		//     Cookie: X-API-KEY=abcdef12345
 		//
-		cookie: string @protobuf(3)
+		cookie: string @protobuf(3,string)
 	}
 }
 
@@ -191,11 +191,11 @@
 #HTTPAPISpecReference: {
 	// REQUIRED. The short name of the HTTPAPISpec. This is the resource
 	// name defined by the metadata name field.
-	name?: string @protobuf(1)
+	name?: string @protobuf(1,string)
 
 	// Optional namespace of the HTTPAPISpec. Defaults to the encompassing
 	// HTTPAPISpecBinding's metadata namespace field.
-	namespace?: string @protobuf(2)
+	namespace?: string @protobuf(2,string)
 }
 
 // HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more
@@ -218,10 +218,10 @@
 // ```
 #HTTPAPISpecBinding: {
 	// REQUIRED. One or more services to map the listed HTTPAPISpec onto.
-	services?: [...#IstioService] @protobuf(1)
+	services?: [...#IstioService] @protobuf(1,IstioService)
 
 	// REQUIRED. One or more HTTPAPISpec references that should be mapped to
 	// the specified service(s). The aggregate collection of match
 	// conditions defined in the HTTPAPISpecs should not overlap.
-	apiSpecs?: [...#HTTPAPISpecReference] @protobuf(2,name=api_specs)
+	apiSpecs?: [...#HTTPAPISpecReference] @protobuf(2,HTTPAPISpecReference,name=api_specs)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/client_config_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/client_config_proto_gen.cue
index 626345a..8ae32c2 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/client_config_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/client_config_proto_gen.cue
@@ -35,44 +35,44 @@
 	#FailPolicy_value: "FAIL_OPEN": 0
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
-	policy?: #FailPolicy @protobuf(1)
+	policy?: #FailPolicy @protobuf(1,FailPolicy)
 
 	// Max retries on transport error.
-	maxRetry?: uint32 @protobuf(2,name=max_retry)
+	maxRetry?: uint32 @protobuf(2,uint32,name=max_retry)
 
 	// Base time to wait between retries.  Will be adjusted by exponential
 	// backoff and jitter.
-	baseRetryWait?: time.Duration @protobuf(3,type=google.protobuf.Duration,name=base_retry_wait)
+	baseRetryWait?: time.Duration @protobuf(3,google.protobuf.Duration,name=base_retry_wait)
 
 	// Max time to wait between retries.
-	maxRetryWait?: time.Duration @protobuf(4,type=google.protobuf.Duration,name=max_retry_wait)
+	maxRetryWait?: time.Duration @protobuf(4,google.protobuf.Duration,name=max_retry_wait)
 }
 
 // Defines the per-service client configuration.
 #ServiceConfig: {
 	// If true, do not call Mixer Check.
-	disableCheckCalls?: bool @protobuf(1,name=disable_check_calls)
+	disableCheckCalls?: bool @protobuf(1,bool,name=disable_check_calls)
 
 	// If true, do not call Mixer Report.
-	disableReportCalls?: bool @protobuf(2,name=disable_report_calls)
+	disableReportCalls?: bool @protobuf(2,bool,name=disable_report_calls)
 
 	// Send these attributes to Mixer in both Check and Report. This
 	// typically includes the "destination.service" attribute.
 	// In case of a per-route override, per-route attributes take precedence
 	// over the attributes supplied in the client configuration.
-	mixerAttributes?: v1.#Attributes @protobuf(3,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(3,Attributes,name=mixer_attributes)
 
 	// HTTP API specifications to generate API attributes.
-	httpApiSpec?: [...#HTTPAPISpec] @protobuf(4,name=http_api_spec)
+	httpApiSpec?: [...#HTTPAPISpec] @protobuf(4,HTTPAPISpec,name=http_api_spec)
 
 	// Quota specifications to generate quota requirements.
-	quotaSpec?: [...#QuotaSpec] @protobuf(5,name=quota_spec)
+	quotaSpec?: [...#QuotaSpec] @protobuf(5,QuotaSpec,name=quota_spec)
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
 	// This is the service-level policy. It overrides
 	// [mesh-level
 	// policy][istio.mixer.v1.config.client.TransportConfig.network_fail_policy].
-	networkFailPolicy?: #NetworkFailPolicy @protobuf(7,name=network_fail_policy)
+	networkFailPolicy?: #NetworkFailPolicy @protobuf(7,NetworkFailPolicy,name=network_fail_policy)
 
 	// Default attributes to forward to upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes.
@@ -86,27 +86,27 @@
 	// 3. forwarded attributes from the source filter config (if any);
 	// 4. forwarded attributes from the source route config (if any);
 	// 5. derived attributes from the request metadata.
-	forwardAttributes?: v1.#Attributes @protobuf(8,type=Attributes,name=forward_attributes)
+	forwardAttributes?: v1.#Attributes @protobuf(8,Attributes,name=forward_attributes)
 }
 
 // Defines the transport config on how to call Mixer.
 #TransportConfig: {
 	// The flag to disable check cache.
-	disableCheckCache?: bool @protobuf(1,name=disable_check_cache)
+	disableCheckCache?: bool @protobuf(1,bool,name=disable_check_cache)
 
 	// The flag to disable quota cache.
-	disableQuotaCache?: bool @protobuf(2,name=disable_quota_cache)
+	disableQuotaCache?: bool @protobuf(2,bool,name=disable_quota_cache)
 
 	// The flag to disable report batch.
-	disableReportBatch?: bool @protobuf(3,name=disable_report_batch)
+	disableReportBatch?: bool @protobuf(3,bool,name=disable_report_batch)
 
 	// Specifies the behavior when the client is unable to connect to Mixer.
 	// This is the mesh level policy. The default value for policy is FAIL_OPEN.
-	networkFailPolicy?: #NetworkFailPolicy @protobuf(4,name=network_fail_policy)
+	networkFailPolicy?: #NetworkFailPolicy @protobuf(4,NetworkFailPolicy,name=network_fail_policy)
 
 	// Specify refresh interval to write Mixer client statistics to Envoy share
 	// memory. If not specified, the interval is 10 seconds.
-	statsUpdateInterval?: time.Duration @protobuf(5,type=google.protobuf.Duration,name=stats_update_interval)
+	statsUpdateInterval?: time.Duration @protobuf(5,google.protobuf.Duration,name=stats_update_interval)
 
 	// Name of the cluster that will forward check calls to a pool of mixer
 	// servers. Defaults to "mixer_server". By using different names for
@@ -116,7 +116,7 @@
 	//
 	// NOTE: Any value other than the default "mixer_server" will require the
 	// Istio Grafana dashboards to be reconfigured to use the new name.
-	checkCluster?: string @protobuf(6,name=check_cluster)
+	checkCluster?: string @protobuf(6,string,name=check_cluster)
 
 	// Name of the cluster that will forward report calls to a pool of mixer
 	// servers. Defaults to "mixer_server". By using different names for
@@ -126,62 +126,62 @@
 	//
 	// NOTE: Any value other than the default "mixer_server" will require the
 	// Istio Grafana dashboards to be reconfigured to use the new name.
-	reportCluster?: string @protobuf(7,name=report_cluster)
+	reportCluster?: string @protobuf(7,string,name=report_cluster)
 
 	// Default attributes to forward to Mixer upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes. These
 	// attributes are consumed by the proxy in front of mixer.
-	attributesForMixerProxy?: v1.#Attributes @protobuf(8,type=Attributes,name=attributes_for_mixer_proxy)
+	attributesForMixerProxy?: v1.#Attributes @protobuf(8,Attributes,name=attributes_for_mixer_proxy)
 }
 
 // Defines the client config for HTTP.
 #HttpClientConfig: {
 	// The transport config.
-	transport?: #TransportConfig @protobuf(1)
+	transport?: #TransportConfig @protobuf(1,TransportConfig)
 
 	// Map of control configuration indexed by destination.service. This
 	// is used to support per-service configuration for cases where a
 	// mixerclient serves multiple services.
 	serviceConfigs?: {
 		[string]: #ServiceConfig
-	} @protobuf(2,type=map<string,ServiceConfig>,service_configs)
+	} @protobuf(2,map[string]ServiceConfig,service_configs)
 
 	// Default destination service name if none was specified in the
 	// client request.
-	defaultDestinationService?: string @protobuf(3,name=default_destination_service)
+	defaultDestinationService?: string @protobuf(3,string,name=default_destination_service)
 
 	// Default attributes to send to Mixer in both Check and
 	// Report. This typically includes "destination.ip" and
 	// "destination.uid" attributes.
-	mixerAttributes?: v1.#Attributes @protobuf(4,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(4,Attributes,name=mixer_attributes)
 
 	// Default attributes to forward to upstream. This typically
 	// includes the "source.ip" and "source.uid" attributes.
-	forwardAttributes?: v1.#Attributes @protobuf(5,type=Attributes,name=forward_attributes)
+	forwardAttributes?: v1.#Attributes @protobuf(5,Attributes,name=forward_attributes)
 }
 
 // Defines the client config for TCP.
 #TcpClientConfig: {
 	// The transport config.
-	transport?: #TransportConfig @protobuf(1)
+	transport?: #TransportConfig @protobuf(1,TransportConfig)
 
 	// Default attributes to send to Mixer in both Check and
 	// Report. This typically includes "destination.ip" and
 	// "destination.uid" attributes.
-	mixerAttributes?: v1.#Attributes @protobuf(2,type=Attributes,name=mixer_attributes)
+	mixerAttributes?: v1.#Attributes @protobuf(2,Attributes,name=mixer_attributes)
 
 	// If set to true, disables Mixer check calls.
-	disableCheckCalls?: bool @protobuf(3,name=disable_check_calls)
+	disableCheckCalls?: bool @protobuf(3,bool,name=disable_check_calls)
 
 	// If set to true, disables Mixer check calls.
-	disableReportCalls?: bool @protobuf(4,name=disable_report_calls)
+	disableReportCalls?: bool @protobuf(4,bool,name=disable_report_calls)
 
 	// Quota specifications to generate quota requirements.
 	// It applies on the new TCP connections.
-	connectionQuotaSpec?: #QuotaSpec @protobuf(5,name=connection_quota_spec)
+	connectionQuotaSpec?: #QuotaSpec @protobuf(5,QuotaSpec,name=connection_quota_spec)
 
 	// Specify report interval to send periodical reports for long TCP
 	// connections. If not specified, the interval is 10 seconds. This interval
 	// should not be less than 1 second, otherwise it will be reset to 1 second.
-	reportInterval?: time.Duration @protobuf(6,type=google.protobuf.Duration,name=report_interval)
+	reportInterval?: time.Duration @protobuf(6,google.protobuf.Duration,name=report_interval)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/quota_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/quota_proto_gen.cue
index f72d4bd..98f0bd5 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/quota_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/quota_proto_gen.cue
@@ -56,7 +56,7 @@
 // Determines the quotas used for individual requests.
 #QuotaSpec: {
 	// A list of Quota rules.
-	rules?: [...#QuotaRule] @protobuf(1)
+	rules?: [...#QuotaRule] @protobuf(1,QuotaRule)
 }
 
 // Specifies a rule with list of matches and list of quotas.
@@ -64,10 +64,10 @@
 #QuotaRule: {
 	// If empty, match all request.
 	// If any of match is true, it is matched.
-	match?: [...#AttributeMatch] @protobuf(1)
+	match?: [...#AttributeMatch] @protobuf(1,AttributeMatch)
 
 	// The list of quotas to charge.
-	quotas?: [...#Quota] @protobuf(2)
+	quotas?: [...#Quota] @protobuf(2,Quota)
 }
 
 // Describes how to match a given string in HTTP headers. Match is
@@ -75,13 +75,13 @@
 #StringMatch: {
 	{} | {
 		// exact string match
-		exact: string @protobuf(1)
+		exact: string @protobuf(1,string)
 	} | {
 		// prefix-based match
-		prefix: string @protobuf(2)
+		prefix: string @protobuf(2,string)
 	} | {
 		// ECMAscript style regex-based match
-		regex: string @protobuf(3)
+		regex: string @protobuf(3,string)
 	}
 }
 
@@ -99,38 +99,38 @@
 	//       exact: POST
 	clause?: {
 		[string]: #StringMatch
-	} @protobuf(1,type=map<string,StringMatch>)
+	} @protobuf(1,map[string]StringMatch)
 }
 
 // Specifies a quota to use with quota name and amount.
 #Quota: {
 	// The quota name to charge
-	quota?: string @protobuf(1)
+	quota?: string @protobuf(1,string)
 
 	// The quota amount to charge
-	charge?: int64 @protobuf(2)
+	charge?: int64 @protobuf(2,int64)
 }
 
 // QuotaSpecBinding defines the binding between QuotaSpecs and one or more
 // IstioService.
 #QuotaSpecBinding: {
 	// REQUIRED. One or more services to map the listed QuotaSpec onto.
-	services?: [...#IstioService] @protobuf(1)
+	services?: [...#IstioService] @protobuf(1,IstioService)
 
 	// QuotaSpecReference uniquely identifies the QuotaSpec used in the
 	// Binding.
 	#QuotaSpecReference: {
 		// REQUIRED. The short name of the QuotaSpec. This is the resource
 		// name defined by the metadata name field.
-		name?: string @protobuf(1)
+		name?: string @protobuf(1,string)
 
 		// Optional namespace of the QuotaSpec. Defaults to the value of the
 		// metadata namespace field.
-		namespace?: string @protobuf(2)
+		namespace?: string @protobuf(2,string)
 	}
 
 	// REQUIRED. One or more QuotaSpec references that should be mapped to
 	// the specified service(s). The aggregate collection of match
 	// conditions defined in the QuotaSpecs should not overlap.
-	quotaSpecs?: [...#QuotaSpecReference] @protobuf(2,name=quota_specs)
+	quotaSpecs?: [...#QuotaSpecReference] @protobuf(2,QuotaSpecReference,name=quota_specs)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/service_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/service_proto_gen.cue
index 726c181..185c68f 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/service_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/config/client/service_proto_gen.cue
@@ -27,16 +27,16 @@
 // (e.g. on Kubernetes, "reviews" + "default" + "svc.cluster.local" -> "reviews.default.svc.cluster.local").
 #IstioService: {
 	// The short name of the service such as "foo".
-	name?: string @protobuf(1)
+	name?: string @protobuf(1,string)
 
 	// Optional namespace of the service. Defaults to value of metadata namespace field.
-	namespace?: string @protobuf(2)
+	namespace?: string @protobuf(2,string)
 
 	// Domain suffix used to construct the service FQDN in implementations that support such specification.
-	domain?: string @protobuf(3)
+	domain?: string @protobuf(3,string)
 
 	// The service FQDN.
-	service?: string @protobuf(4)
+	service?: string @protobuf(4,string)
 
 	// Optional one or more labels that uniquely identify the service version.
 	//
@@ -44,5 +44,5 @@
 	//
 	labels?: {
 		[string]: string
-	} @protobuf(5,type=map<string,string>)
+	} @protobuf(5,map[string]string)
 }
diff --git a/encoding/protobuf/testdata/istio.io/api/mixer/v1/mixer_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/mixer/v1/mixer_proto_gen.cue
index b3f24df..1e3fac4 100644
--- a/encoding/protobuf/testdata/istio.io/api/mixer/v1/mixer_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/mixer/v1/mixer_proto_gen.cue
@@ -26,31 +26,31 @@
 	// parameters for a quota allocation
 	#QuotaParams: {
 		// Amount of quota to allocate
-		amount?: int64 @protobuf(1)
+		amount?: int64 @protobuf(1,int64)
 
 		// When true, supports returning less quota than what was requested.
-		bestEffort?: bool @protobuf(2,name=best_effort)
+		bestEffort?: bool @protobuf(2,bool,name=best_effort)
 	}
 
 	// The attributes to use for this request.
 	//
 	// Mixer's configuration determines how these attributes are used to
 	// establish the result returned in the response.
-	attributes?: #CompressedAttributes @protobuf(1,"(gogoproto.nullable)=false")
+	attributes?: #CompressedAttributes @protobuf(1,CompressedAttributes,"(gogoproto.nullable)=false")
 
 	// The number of words in the global dictionary, used with to populate the attributes.
 	// This value is used as a quick way to determine whether the client is using a dictionary that
 	// the server understands.
-	globalWordCount?: uint32 @protobuf(2,name=global_word_count)
+	globalWordCount?: uint32 @protobuf(2,uint32,name=global_word_count)
 
 	// Used for deduplicating `Check` calls in the case of failed RPCs and retries. This should be a UUID
 	// per call, where the same UUID is used for retries of the same call.
-	deduplicationId?: string @protobuf(3,name=deduplication_id)
+	deduplicationId?: string @protobuf(3,string,name=deduplication_id)
 
 	// The individual quotas to allocate
 	quotas?: {
 		[string]: #QuotaParams
-	} @protobuf(4,type=map<string,QuotaParams>,"(gogoproto.nullable)=false")
+	} @protobuf(4,map[string]QuotaParams,"(gogoproto.nullable)=false")
 }
 
 // The response generated by the Check method.
@@ -59,44 +59,44 @@
 	#PreconditionResult: {
 		// A status code of OK indicates all preconditions were satisfied. Any other code indicates not
 		// all preconditions were satisfied and details describe why.
-		status?: status_1.#Status @protobuf(1,type=google.rpc.Status,"(gogoproto.nullable)=false")
+		status?: status_1.#Status @protobuf(1,google.rpc.Status,"(gogoproto.nullable)=false")
 
 		// The amount of time for which this result can be considered valid.
-		validDuration?: time.Duration @protobuf(2,type=google.protobuf.Duration,name=valid_duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
+		validDuration?: time.Duration @protobuf(2,google.protobuf.Duration,name=valid_duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
 
 		// The number of uses for which this result can be considered valid.
-		validUseCount?: int32 @protobuf(3,name=valid_use_count)
+		validUseCount?: int32 @protobuf(3,int32,name=valid_use_count)
 
 		// The total set of attributes that were used in producing the result
 		// along with matching conditions.
-		referencedAttributes?: #ReferencedAttributes @protobuf(5,name=referenced_attributes)
+		referencedAttributes?: #ReferencedAttributes @protobuf(5,ReferencedAttributes,name=referenced_attributes)
 
 		// An optional routing directive, used to manipulate the traffic metadata
 		// whenever all preconditions are satisfied.
-		routeDirective?: #RouteDirective @protobuf(6,name=route_directive)
+		routeDirective?: #RouteDirective @protobuf(6,RouteDirective,name=route_directive)
 	}
 
 	// Expresses the result of a quota allocation.
 	#QuotaResult: {
 		// The amount of time for which this result can be considered valid.
-		validDuration?: time.Duration @protobuf(1,type=google.protobuf.Duration,name=valid_duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
+		validDuration?: time.Duration @protobuf(1,google.protobuf.Duration,name=valid_duration,"(gogoproto.nullable)=false","(gogoproto.stdduration)")
 
 		// The amount of granted quota. When `QuotaParams.best_effort` is true, this will be >= 0.
 		// If `QuotaParams.best_effort` is false, this will be either 0 or >= `QuotaParams.amount`.
-		grantedAmount?: int64 @protobuf(2,name=granted_amount)
+		grantedAmount?: int64 @protobuf(2,int64,name=granted_amount)
 
 		// The total set of attributes that were used in producing the result
 		// along with matching conditions.
-		referencedAttributes?: #ReferencedAttributes @protobuf(5,name=referenced_attributes,"(gogoproto.nullable)=false")
+		referencedAttributes?: #ReferencedAttributes @protobuf(5,ReferencedAttributes,name=referenced_attributes,"(gogoproto.nullable)=false")
 	}
 
 	// The precondition check results.
-	precondition?: #PreconditionResult @protobuf(2,"(gogoproto.nullable)=false")
+	precondition?: #PreconditionResult @protobuf(2,PreconditionResult,"(gogoproto.nullable)=false")
 
 	// The resulting quota, one entry per requested quota.
 	quotas?: {
 		[string]: #QuotaResult
-	} @protobuf(3,type=map<string,QuotaResult>,"(gogoproto.nullable)=false")
+	} @protobuf(3,map[string]QuotaResult,"(gogoproto.nullable)=false")
 }
 
 // Describes the attributes that were used to determine the response.
@@ -119,14 +119,14 @@
 	#AttributeMatch: {
 		// The name of the attribute. This is a dictionary index encoded in a manner identical
 		// to all strings in the [CompressedAttributes][istio.mixer.v1.CompressedAttributes] message.
-		name?: int32 @protobuf(1,type=sint32)
+		name?: int32 @protobuf(1,sint32)
 
 		// The kind of match against the attribute value.
-		condition?: #Condition @protobuf(2)
+		condition?: #Condition @protobuf(2,Condition)
 
 		// If a REGEX condition is provided for a STRING_MAP attribute,
 		// clients should use the regex value to match against map keys.
-		regex?: string @protobuf(3)
+		regex?: string @protobuf(3,string)
 
 		// A key in a STRING_MAP. When multiple keys from a STRING_MAP
 		// attribute were referenced, there will be multiple AttributeMatch
@@ -138,15 +138,15 @@
 		//
 		// If no map_key value is provided for a STRING_MAP attribute, the
 		// entire STRING_MAP will be used.
-		mapKey?: int32 @protobuf(4,type=sint32,name=map_key)
+		mapKey?: int32 @protobuf(4,sint32,name=map_key)
 	}
 
 	// The message-level dictionary. Refer to [CompressedAttributes][istio.mixer.v1.CompressedAttributes] for information
 	// on using dictionaries.
-	words?: [...string] @protobuf(1)
+	words?: [...string] @protobuf(1,string)
 
 	// Describes a set of attributes.
-	attributeMatches?: [...#AttributeMatch] @protobuf(2,name=attribute_matches,"(gogoproto.nullable)=false")
+	attributeMatches?: [...#AttributeMatch] @protobuf(2,AttributeMatch,name=attribute_matches,"(gogoproto.nullable)=false")
 }
 
 // Operation on HTTP headers to replace, append, or remove a header. Header
@@ -166,31 +166,31 @@
 	}
 
 	// Header name.
-	name?: string @protobuf(1)
+	name?: string @protobuf(1,string)
 
 	// Header value.
-	value?: string @protobuf(2)
+	value?: string @protobuf(2,string)
 
 	// Header operation.
-	operation?: #Operation @protobuf(3)
+	operation?: #Operation @protobuf(3,Operation)
 }
 
 // Expresses the routing manipulation actions to be performed on behalf of
 // Mixer in response to a precondition check.
 #RouteDirective: {
 	// Operations on the request headers.
-	requestHeaderOperations?: [...#HeaderOperation] @protobuf(1,name=request_header_operations,"(gogoproto.nullable)=false")
+	requestHeaderOperations?: [...#HeaderOperation] @protobuf(1,HeaderOperation,name=request_header_operations,"(gogoproto.nullable)=false")
 
 	// Operations on the response headers.
-	responseHeaderOperations?: [...#HeaderOperation] @protobuf(2,name=response_header_operations,"(gogoproto.nullable)=false")
+	responseHeaderOperations?: [...#HeaderOperation] @protobuf(2,HeaderOperation,name=response_header_operations,"(gogoproto.nullable)=false")
 
 	// If set, enables a direct response without proxying the request to the routing
 	// destination. Required to be a value in the 2xx or 3xx range.
-	directResponseCode?: uint32 @protobuf(3,name=direct_response_code)
+	directResponseCode?: uint32 @protobuf(3,uint32,name=direct_response_code)
 
 	// Supplies the response body for the direct response.
 	// If this setting is omitted, no body is included in the generated response.
-	directResponseBody?: string @protobuf(4,name=direct_response_body)
+	directResponseBody?: string @protobuf(4,string,name=direct_response_body)
 }
 
 // Used to report telemetry after performing one or more actions.
@@ -220,10 +220,10 @@
 	// Each `Attributes` element represents the state of a single action. Multiple actions
 	// can be provided in a single message in order to improve communication efficiency. The
 	// client can accumulate a set of actions and send them all in one single message.
-	attributes?: [...#CompressedAttributes] @protobuf(1,"(gogoproto.nullable)=false")
+	attributes?: [...#CompressedAttributes] @protobuf(1,CompressedAttributes,"(gogoproto.nullable)=false")
 
 	// Indicates how to decode the attributes sets in this request.
-	repeatedAttributesSemantics?: #RepeatedAttributesSemantics @protobuf(4,name=repeated_attributes_semantics)
+	repeatedAttributesSemantics?: #RepeatedAttributesSemantics @protobuf(4,RepeatedAttributesSemantics,name=repeated_attributes_semantics)
 
 	// The default message-level dictionary for all the attributes.
 	// Individual attribute messages can have their own dictionaries, but if they don't
@@ -231,11 +231,11 @@
 	//
 	// This makes it possible to share the same dictionary for all attributes in this
 	// request, which can substantially reduce the overall request size.
-	defaultWords?: [...string] @protobuf(2,name=default_words)
+	defaultWords?: [...string] @protobuf(2,string,name=default_words)
 
 	// The number of words in the global dictionary.
 	// To detect global dictionary out of sync between client and server.
-	globalWordCount?: uint32 @protobuf(3,name=global_word_count)
+	globalWordCount?: uint32 @protobuf(3,uint32,name=global_word_count)
 }
 
 // Used to carry responses to telemetry reports
diff --git a/encoding/protobuf/testdata/istio.io/api/networking/v1alpha3/gateway_proto_gen.cue b/encoding/protobuf/testdata/istio.io/api/networking/v1alpha3/gateway_proto_gen.cue
index 35fd9b1..80dd5cd 100644
--- a/encoding/protobuf/testdata/istio.io/api/networking/v1alpha3/gateway_proto_gen.cue
+++ b/encoding/protobuf/testdata/istio.io/api/networking/v1alpha3/gateway_proto_gen.cue
@@ -205,7 +205,7 @@
 
 #Gateway: {
 	// REQUIRED: A list of server specifications.
-	servers?: [...#Server] @protobuf(1)
+	servers?: [...#Server] @protobuf(1,Server)
 
 	// REQUIRED: One or more labels that indicate a specific set of pods/VMs
 	// on which this gateway configuration should be applied. The scope of
@@ -214,7 +214,7 @@
 	// reside in the same namespace as the gateway workload instance.
 	selector?: {
 		[string]: string
-	} @protobuf(2,type=map<string,string>)
+	} @protobuf(2,map[string]string)
 	selector?: {[name=_]: name}
 }
 
@@ -282,7 +282,7 @@
 #Server: {
 	// REQUIRED: The Port on which the proxy should listen for incoming
 	// connections.
-	port?: #Port @protobuf(1)
+	port?: #Port @protobuf(1,Port)
 	port?: >10 & <100
 
 	// $hide_from_docs
@@ -290,7 +290,7 @@
 	// to. Format: `x.x.x.x` or `unix:///path/to/uds` or `unix://@foobar`
 	// (Linux abstract namespace). When using Unix domain sockets, the port
 	// number should be 0.
-	bind?: string @protobuf(4)
+	bind?: string @protobuf(4,string)
 
 	// REQUIRED. One or more hosts exposed by this gateway.
 	// While typically applicable to
@@ -316,12 +316,12 @@
 	// Private configurations (e.g., `exportTo` set to `.`) will not be
 	// available. Refer to the `exportTo` setting in `VirtualService`,
 	// `DestinationRule`, and `ServiceEntry` configurations for details.
-	hosts?: [...string] @protobuf(2)
+	hosts?: [...string] @protobuf(2,string)
 
 	#TLSOptions: {
 		// If set to true, the load balancer will send a 301 redirect for all
 		// http connections, asking the clients to use HTTPS.
-		httpsRedirect?: bool @protobuf(1,name=https_redirect)
+		httpsRedirect?: bool @protobuf(1,bool,name=https_redirect)
 
 		// TLS modes enforced by the proxy
 		#TLSmode:
@@ -359,21 +359,21 @@
 		// Optional: Indicates whether connections to this port should be
 		// secured using TLS. The value of this field determines how TLS is
 		// enforced.
-		mode?: #TLSmode @protobuf(2)
+		mode?: #TLSmode @protobuf(2,TLSmode)
 		// Extra comment.
 
 		// REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file
 		// holding the server-side TLS certificate to use.
-		serverCertificate?: string @protobuf(3,name=server_certificate)
+		serverCertificate?: string @protobuf(3,string,name=server_certificate)
 
 		// REQUIRED if mode is `SIMPLE` or `MUTUAL`. The path to the file
 		// holding the server's private key.
-		privateKey?: string @protobuf(4,name=private_key)
+		privateKey?: string @protobuf(4,string,name=private_key)
 
 		// REQUIRED if mode is `MUTUAL`. The path to a file containing
 		// certificate authority certificates to use in verifying a presented
 		// client side certificate.
-		caCertificates?: string @protobuf(5,name=ca_certificates)
+		caCertificates?: string @protobuf(5,string,name=ca_certificates)
 
 		// The credentialName stands for a unique identifier that can be used
 		// to identify the serverCertificate and the privateKey. The
@@ -391,11 +391,11 @@
 		// key, and the CA certificate (if using mutual TLS). Set the
 		// `ISTIO_META_USER_SDS` metadata variable in the gateway's proxy to
 		// enable the dynamic credential fetching feature.
-		credentialName?: string @protobuf(10,name=credential_name)
+		credentialName?: string @protobuf(10,string,name=credential_name)
 
 		// A list of alternate names to verify the subject identity in the
 		// certificate presented by the client.
-		subjectAltNames?: [...string] @protobuf(6,name=subject_alt_names)
+		subjectAltNames?: [...string] @protobuf(6,string,name=subject_alt_names)
 
 		// TLS protocol versions.
 		#TLSProtocol: "TLS_AUTO" | // Automatically choose the optimal TLS version.
@@ -413,38 +413,38 @@
 		}
 
 		// Optional: Minimum TLS protocol version.
-		minProtocolVersion?: #TLSProtocol @protobuf(7,name=min_protocol_version)
+		minProtocolVersion?: #TLSProtocol @protobuf(7,TLSProtocol,name=min_protocol_version)
 
 		// Optional: Maximum TLS protocol version.
-		maxProtocolVersion?: #TLSProtocol @protobuf(8,name=max_protocol_version)
+		maxProtocolVersion?: #TLSProtocol @protobuf(8,TLSProtocol,name=max_protocol_version)
 
 		// Optional: If specified, only support the specified cipher list.
 		// Otherwise default to the default cipher list supported by Envoy.
-		cipherSuites?: [...string] @protobuf(9,name=cipher_suites)
+		cipherSuites?: [...string] @protobuf(9,string,name=cipher_suites)
 	}
 
 	// Set of TLS related options that govern the server's behavior. Use
 	// these options to control if all http requests should be redirected to
 	// https, and the TLS modes to use.
-	tls?: #TLSOptions @protobuf(3)
+	tls?: #TLSOptions @protobuf(3,TLSOptions)
 
 	// The loopback IP endpoint or Unix domain socket to which traffic should
 	// be forwarded to by default. Format should be `127.0.0.1:PORT` or
 	// `unix:///path/to/socket` or `unix://@foobar` (Linux abstract namespace).
-	defaultEndpoint?: string @protobuf(5,name=default_endpoint)
+	defaultEndpoint?: string @protobuf(5,string,name=default_endpoint)
 }
 
 // Port describes the properties of a specific port of a service.
 #Port: {
 	// REQUIRED: A valid non-negative integer port number.
-	number?: uint32 @protobuf(1)
+	number?: uint32 @protobuf(1,uint32)
 
 	// REQUIRED: The protocol exposed on the port.
 	// MUST BE one of HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS.
 	// TLS implies the connection will be routed based on the SNI header to
 	// the destination without terminating the TLS connection.
-	protocol?: string @protobuf(2)
+	protocol?: string @protobuf(2,string)
 
 	// Label assigned to the port.
-	name?: string @protobuf(3)
+	name?: string @protobuf(3,string)
 }
diff --git a/encoding/protobuf/testdata/trailcomment.proto.out.cue b/encoding/protobuf/testdata/trailcomment.proto.out.cue
index 43228f1..1ed600c 100644
--- a/encoding/protobuf/testdata/trailcomment.proto.out.cue
+++ b/encoding/protobuf/testdata/trailcomment.proto.out.cue
@@ -3,17 +3,17 @@
 
 #Bar: {
 	{} | {
-		a: string @protobuf(1)
+		a: string @protobuf(1,string)
 
 		// hello world
 
 	} | {
-		b: string @protobuf(2)
+		b: string @protobuf(2,string)
 
 		// hello world
 
 	}
-	c?: int32 @protobuf(3)
+	c?: int32 @protobuf(3,int32)
 	// hello world
 
 }
