diff --git a/cue/path.go b/cue/path.go
index 465e360..0396c95 100644
--- a/cue/path.go
+++ b/cue/path.go
@@ -156,8 +156,9 @@
 	for i, sel := range p.path {
 		x := sel.sel
 		// TODO: use '.' in all cases, once supported.
+		_, isAny := x.(anySelector)
 		switch {
-		case x.kind() == adt.IntLabel:
+		case x.kind() == adt.IntLabel && !isAny:
 			b.WriteByte('[')
 			b.WriteString(x.String())
 			b.WriteByte(']')
@@ -427,7 +428,7 @@
 // an anySelector represents a wildcard option of a particular type.
 type anySelector adt.Feature
 
-func (s anySelector) String() string        { return "_" }
+func (s anySelector) String() string        { return "[_]" }
 func (s anySelector) optional() bool        { return true }
 func (s anySelector) kind() adt.FeatureType { return adt.Feature(s).Typ() }
 
diff --git a/cue/path_test.go b/cue/path_test.go
index 05de651..128a5db 100644
--- a/cue/path_test.go
+++ b/cue/path_test.go
@@ -28,6 +28,8 @@
 		a: 3
 		b: [4, 5, 6]
 		c: "#Foo": 7
+		map: [string]: int
+		list: [...int]
 	`)
 	testCases := []struct {
 		path Path
@@ -35,6 +37,11 @@
 		str  string
 		err  bool
 	}{{
+		path: MakePath(Str("list"), AnyIndex),
+		out:  "int",
+		str:  "list.[_]",
+	}, {
+
 		path: MakePath(Def("#Foo"), Str("a"), Str("b")),
 		out:  "1",
 		str:  "#Foo.a.b",
@@ -109,6 +116,14 @@
 		str:  "_|_",
 		err:  true,
 		out:  `_|_ // invalid literal 3.3`,
+	}, {
+		path: MakePath(Str("map"), AnyString),
+		out:  "int",
+		str:  "map.[_]",
+	}, {
+		path: MakePath(Str("list"), AnyIndex),
+		out:  "int",
+		str:  "list.[_]",
 	}}
 
 	v := inst.Value()
diff --git a/cue/types.go b/cue/types.go
index 68374c0..cd003a3 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -1522,11 +1522,15 @@
 		return a
 	}
 
+	f := v.v.Label
+	if index := f.Index(); index == adt.MaxIndex {
+		return append(a, Selector{anySelector(f)})
+	}
+
 	var sel selector
-	switch f := v.v.Label; f.Typ() {
+	switch f.Typ() {
 	case adt.IntLabel:
 		sel = indexSelector(f)
-
 	case adt.DefinitionLabel:
 		sel = definitionSelector(f.SelectorString(v.idx))
 
