As others have said, go ahead and implement it; you'll have a better idea of what you might want to change or generalize after you have that version to experiment with.
(One case you might want to consider: with that way to create polynomials, won't x^1000000 take a lot of typing?)
(One case you might want to consider: with that way to create polynomials, won't x^1000000 take a lot of typing?)