since `a` and `b` are references and youre calling functions it might end up that the compiler can't be 100% they are unmodified on every call, and it has to do weird reloads inbetween
i think its what you said