If you do Symbol('i', dummy=True) it will not clash with another symbol 'i' that has different assumption (as I recall). Maybe that's why it was done that way?