diff --git a/cmd/cue/cmd/eval.go b/cmd/cue/cmd/eval.go
index 4f6d9f6..99bf30b 100644
--- a/cmd/cue/cmd/eval.go
+++ b/cmd/cue/cmd/eval.go
@@ -68,7 +68,7 @@
 				cue.Optional(*all || *optional),
 			}
 			if *compile {
-				syn = append(syn, cue.RequireConcrete())
+				syn = append(syn, cue.Concrete(true))
 			}
 			if *hidden || *all {
 				syn = append(syn, cue.Hidden(true))
@@ -80,7 +80,7 @@
 			if exprs == nil {
 				v := inst.Value()
 				if *compile {
-					err := v.Validate(cue.RequireConcrete())
+					err := v.Validate(cue.Concrete(true))
 					exitIfErr(cmd, inst, err, false)
 					continue
 				}
diff --git a/cmd/cue/cmd/vet.go b/cmd/cue/cmd/vet.go
index c2799f3..cfceecc 100644
--- a/cmd/cue/cmd/vet.go
+++ b/cmd/cue/cmd/vet.go
@@ -59,7 +59,7 @@
 		opt := []cue.Option{
 			cue.Attributes(true),
 			cue.Optional(true),
-			cue.RequireConcrete(),
+			cue.Concrete(true),
 			cue.Hidden(true),
 		}
 		err := inst.Value().Validate(opt...)
diff --git a/cue/types.go b/cue/types.go
index 3bf6637..11be127 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -1006,15 +1006,19 @@
 
 // TODO: could also be used for subsumption.
 
-// RequireConcrete ensures that all values are concrete.
+// Concrete ensures that all values are concrete.
 //
 // For Validate this means it returns an error if this is not the case.
 // In other cases a non-concrete value will be replaced with an error.
-func RequireConcrete() Option {
+func Concrete(concrete bool) Option {
 	return func(p *options) {
-		p.concrete = true
-		if !p.hasHidden {
-			p.omitHidden = true
+		if concrete {
+			p.concrete = true
+			if !p.hasHidden {
+				p.omitHidden = true
+			}
+		} else {
+			p.raw = true
 		}
 	}
 }
