We simplify within a pattern - even for implicit unification of the
patterns, at least when CUE is able to spot they really are the same
thing.

In b, post evaluation, the vertex has two patterns, whereas in a,
there is only 1 pattern.

-- a.cue --
a: [string]: x: string
a: [string]: x: "hi"

b: [string]: x: string
b: [=~ ".*"]: x: "hi"
-- out/trim-v3 --
== a.cue
a: [string]: _
a: [string]: x: "hi"

b: [string]: x: string
b: [=~".*"]: x: "hi"
-- diff/-out/trim-v3<==>+out/trim --
diff old new
--- old
+++ new
@@ -1,5 +1,5 @@
 == a.cue
-a: [string]: x: string
+a: [string]: _
 a: [string]: x: "hi"
 
 b: [string]: x: string
-- out/trim-v3-noshare --
== a.cue
a: [string]: _
a: [string]: x: "hi"

b: [string]: x: string
b: [=~".*"]: x: "hi"
-- diff/-out/trim-v3-noshare<==>+out/trim --
diff old new
--- old
+++ new
@@ -1,5 +1,5 @@
 == a.cue
-a: [string]: x: string
+a: [string]: _
 a: [string]: x: "hi"
 
 b: [string]: x: string
-- out/trim --
== a.cue
a: [string]: x: string
a: [string]: x: "hi"

b: [string]: x: string
b: [=~".*"]: x: "hi"
