#name: list unification
#evalPartial
-- in.cue --
a: {l: ["foo", v], v: l[1]}
b: a & {l: [_, "bar"]}
-- out/def --
a: {
	l: ["foo", v]
	v: l[1]
}
b: a & {
	l: [_, "bar"]
}
-- out/legacy-debug --
<0>{a: <1>{l: ["foo",<2>.v], v: <2>.l[1]}, b: <3>{l: ["foo","bar"], v: "bar"}}
-- out/compile --
--- in.cue
{
  a: {
    l: [
      "foo",
      〈1;v〉,
    ]
    v: 〈0;l〉[1]
  }
  b: (〈0;a〉 & {
    l: [
      _,
      "bar",
    ]
  })
}
-- out/eval/stats --
Leaks:  0
Freed:  11
Reused: 6
Allocs: 5
Retain: 2

Unifications: 11
Conjuncts:    20
Disjuncts:    13
-- out/eval --
(struct){
  a: (struct){
    l: (#list){
      0: (string){ "foo" }
      1: (_){ _ }
    }
    v: (_){ _ }
  }
  b: (struct){
    l: (#list){
      0: (string){ "foo" }
      1: (string){ "bar" }
    }
    v: (string){ "bar" }
  }
}
