#Issue: 1940

-- stats.txt --
Leaks:  0
Freed:  447
Reused: 439
Allocs: 8
Retain: 0

Unifications: 287
Conjuncts:    894
Disjuncts:    447

-- in.cue --
#T:
	["a", #T] |
	["b", #T] |
	["c", #T] |
	["d", ...#T]

x: #T
y: #T
z: #T
v: #T

#X: x
#X: y
#X: z
#X: v
#X: #T
-- out/compile --
--- in.cue
{
  #T: ([
    "a",
    〈1;#T〉,
  ]|[
    "b",
    〈1;#T〉,
  ]|[
    "c",
    〈1;#T〉,
  ]|[
    "d",
    ...〈1;#T〉,
  ])
  x: 〈0;#T〉
  y: 〈0;#T〉
  z: 〈0;#T〉
  v: 〈0;#T〉
  #X: 〈0;x〉
  #X: 〈0;y〉
  #X: 〈0;z〉
  #X: 〈0;v〉
  #X: 〈0;#T〉
}
-- out/evalalpha/stats --
Leaks:  19
Freed:  0
Reused: 0
Allocs: 19
Retain: 0

Unifications: 15
Conjuncts:    23
Disjuncts:    4
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
diff old new
--- old
+++ new
@@ -1,9 +1,9 @@
-Leaks:  0
-Freed:  447
-Reused: 439
-Allocs: 8
+Leaks:  19
+Freed:  0
+Reused: 0
+Allocs: 19
 Retain: 0
 
-Unifications: 287
-Conjuncts:    894
-Disjuncts:    447
+Unifications: 15
+Conjuncts:    23
+Disjuncts:    4
-- out/evalalpha --
(struct){
  #T: (list){
    0: (string){ "d" }
  }
  x: ~(#T)
  y: ~(#T)
  z: ~(#T)
  v: ~(#T)
  #X: ~(#T)
}
-- diff/-out/evalalpha<==>+out/eval --
diff old new
--- old
+++ new
@@ -2,19 +2,9 @@
   #T: (list){
     0: (string){ "d" }
   }
-  x: (list){
-    0: (string){ "d" }
-  }
-  y: (list){
-    0: (string){ "d" }
-  }
-  z: (list){
-    0: (string){ "d" }
-  }
-  v: (list){
-    0: (string){ "d" }
-  }
-  #X: (list){
-    0: (string){ "d" }
-  }
+  x: ~(#T)
+  y: ~(#T)
+  z: ~(#T)
+  v: ~(#T)
+  #X: ~(#T)
 }
-- out/eval --
(struct){
  #T: (list){
    0: (string){ "d" }
  }
  x: (list){
    0: (string){ "d" }
  }
  y: (list){
    0: (string){ "d" }
  }
  z: (list){
    0: (string){ "d" }
  }
  v: (list){
    0: (string){ "d" }
  }
  #X: (list){
    0: (string){ "d" }
  }
}
-- diff/explanation --
Differences fully due to rendered structure sharing.
-- out/eval/stats --
Leaks:  0
Freed:  447
Reused: 439
Allocs: 8
Retain: 0

Unifications: 287
Conjuncts:    894
Disjuncts:    447
