class_docstr: Base class for generalized polynomial rings.
  
  This base class should be used for uniform access to generalized polynomial
  rings. Subclasses only supply information about the element storage etc.
  
  Do not instantiate.
class_docstr_tok: ["Base","class","for","generalized","polynomial","rings",".","This","base","class","should","be","used","for","uniform","access","to","generalized","polynomial","rings",".","Subclasses","only","supply","information","about","the","element","storage","etc",".","Do","not","instantiate","."]
code: def new(self, element):
      return self.dtype(element, self.dom, len(self.gens) - 1)
  
imports: from sympy.polys.agca.modules import FreeModulePolyRing
  from sympy.polys.domains.compositedomain import CompositeDomain
  from sympy.polys.domains.old_fractionfield import FractionField
  from sympy.polys.domains.ring import Ring
  from sympy.polys.orderings import monomial_key, build_product_order
  from sympy.polys.polyclasses import DMP, DMF
  from sympy.polys.polyerrors import GeneratorsNeeded, PolynomialError, CoercionFailed, ExactQuotientFailed, NotReversible
  from sympy.polys.polyutils import dict_from_basic, basic_from_dict, _dict_reorder
  from sympy.utilities import public
  from sympy.utilities.iterables import iterable
label_desc: Use image node_id 3 for calling the PolynomialRingBase obj's underlying member method code with example usage: obj.new(element) and returns: self