One problem you might encounter is that the many solvers are either not available for M1 like CPLEX or at best experimental like Gurobi so i doubt there will be any guarantees for correctness. Apple support for Gurobi might be mixed in general due to issue like "Only use single-threaded BLAS on Mac to avoid overshooting the thread limit"  ...
When you say model.x then you know that this x is a part of the model
if you see
what can you say about the X ?
is it a constant ? constant in the model ? var in the model ?
This also applies to naming the variables
if you use model.i it works
if you use model.generators it works as well!
but in the second case it is more ...