sig
  val merge_envs :
    TypeCore.env ->
    ?annot:TypeCore.typ ->
    TypeCore.env * TypeCore.var ->
    TypeCore.env * TypeCore.var -> TypeCore.env * TypeCore.var
end