Hi,

```
julia> model = Model(Gurobi.Optimizer)
julia> @variable(model, a[x in 1:10; x < 5], Bin)
JuMP.Containers.SparseAxisArray{VariableRef, 1, Tuple{Int64}} with 4 entries:
julia> @variable(model, b[x in 1:10; x > 15], Bin)
JuMP.Containers.SparseAxisArray{Any, 1, Tuple{Any}} with 0 entries
```

Here, I would expect the second example to return a `JuMP.Containers.SparseAxisArray{VariableRef, 1, Tuple{Int64}}`

The current behavior can cause type unstability if we don’t check the emptiness of the resulting container beforehand.

Is it the expected behaviour and are we expected to do the emptiness check by ourselves ?