-- in.cue --
a0: {
	l: ["a", ...]
	l: ["a", "b", ...]
}
a1: {
	l: [...]
	l: ["a", ...]
	l: ["a", "b", ...]
}
a2: {
	l: [...]
	l: ["a", ...]
	l: ["a", "b", ...]
	l: {}
}
a3: {
	l: [...]
	l: ["a", ...]
	l: ["a", "b", ...]
	l: {_}
}
a4: {
	l: [...]
	l: ["a", ...]
	l: ["a", "b", ...]
	l: {_, #foo: 1}
	l: {_, @decl(1)}
}
-- out/definition --
a0: {
	l: ["a", ...] & ["a", "b", ...]
}
a1: {
	l: [...] & ["a", ...] & ["a", "b", ...]
}
a2: {
	l: [...] & ["a", ...] & ["a", "b", ...] & {}
}
a3: {
	l: [...] & ["a", ...] & ["a", "b", ...] & {
		_
	}
}
a4: {
	l: [...] & ["a", ...] & ["a", "b", ...] & {
		@decl(1)
		_
		#foo: 1
	}
}
-- out/doc --
[]
[a0]
[a0 l]
[a0 l 0]
[a0 l 1]
[a1]
[a1 l]
[a1 l 0]
[a1 l 1]
[a2]
[a2 l]
[a2 l 0]
[a2 l 1]
[a3]
[a3 l]
[a3 l 0]
[a3 l 1]
[a4]
[a4 l]
[a4 l #foo]
[a4 l 0]
[a4 l 1]
-- out/value-v3 --
== Simplified
_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
== Raw
_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
== Final
_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
== All
{
	a0: {
		l: ["a", "b", ...]
	}
	a1: {
		l: ["a", "b", ...]
	}
	a2: {
		l: _|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
	}
	a3: {
		l: ["a", "b", ...]
	}
	a4: {
		l: {
			@decl(1)
			#foo: 1
			["a", "b", ...]
		}
	}
}
== Eval
_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
-- diff/-out/value-v3<==>+out/value --
diff old new
--- old
+++ new
@@ -1,9 +1,9 @@
 == Simplified
-_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
+_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
 == Raw
-_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
+_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
 == Final
-_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
+_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
 == All
 {
 	a0: {
@@ -13,7 +13,7 @@
 		l: ["a", "b", ...]
 	}
 	a2: {
-		l: _|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
+		l: _|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
 	}
 	a3: {
 		l: ["a", "b", ...]
@@ -27,4 +27,4 @@
 	}
 }
 == Eval
-_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
+_|_ // a2.l: conflicting values [...] and {} (mismatched types list and struct)
-- diff/value/todo/p2 --
Slightly changed error messages.
-- out/value --
== Simplified
_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
== Raw
_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
== Final
_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
== All
{
	a0: {
		l: ["a", "b", ...]
	}
	a1: {
		l: ["a", "b", ...]
	}
	a2: {
		l: _|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
	}
	a3: {
		l: ["a", "b", ...]
	}
	a4: {
		l: {
			@decl(1)
			#foo: 1
			["a", "b", ...]
		}
	}
}
== Eval
_|_ // a2.l: conflicting values ["a","b",...] and {} (mismatched types list and struct)
