+
+ var s = stype(v)
+ var s1 = ctx1.stype(v)
+ var s2 = ctx2.stype(v)
+ if s1 == s and s2 == s then
+ # NOP
+ else if s1 == s2 then
+ stype(v) = s1
+ else if s1 < s2 then
+ stype(v) = s2
+ else if s2 < s1 then
+ stype(v) = s1
+ else
+ stype(v) = basectx.stype(v)
+ end