cue: change emit value semantics

- top-level emit structs are now embedded
  as with other structs
- for non-structs, regular and optional
   top-level fields are disallowed.

Change-Id: Id7d62b956209b6657833920d24e6f3c7b127cb39
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3682
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index 4efc3a7..4e58c18 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -1289,6 +1289,11 @@
 A struct resulting from such a unification is closed if either of the involved
 structs were closed.
 
+At the top level, an embedded value may be any type.
+In this case, a CUE program will evaluate to the embedded value
+and the CUE program may not have top-level regular or optional
+fields (definitions and aliases are allowed).
+
 Syntactically, embeddings may be any expression, except that `<`
 is eagerly interpreted as a bind label.