1 | | Creation of polynomial ring is very slow. In this ticket we do some cleanup that significatively increase the creation. |

| 1 | The `PolynomialRing` factory is written in a very complicated way and is slightly different to `FreeAlgebra`. In this ticket, we normalize the inputs of all factories involving variables. |

| 2 | |

| 3 | Some changes are noticeable |

| 4 | |

| 5 | 1. the following will now raise `TypeError` |

| 6 | {{{ |

| 7 | sage: R.<a,b> = PolynomialRing(QQ, ('a', 'b')) |

| 8 | sage: A.<x,y,z> = FreeAlgebra(QQ, 'x,y,z') |

| 9 | }}} |

| 10 | |

| 11 | 2. The `var_array` argument in `PolynomialRing` is deprecated |

| 12 | |

| 13 | As a sided effect, we got some speedup in polynomial ring creation! |