module Merge:sig
..end
val merge_envs : TypeCore.env ->
?annot:TypeCore.typ ->
TypeCore.env * TypeCore.var ->
TypeCore.env * TypeCore.var -> TypeCore.env * TypeCore.var
merge_envs
function takes:top
environment which represents the original environment before the
control-flow started to diverge,
Consider for example "if True then x else y"; the combined return value of
the two environments will try to reconcile the permissions available for "x"
and "y".