@classmethod
def init_from_nonzero(cls, p, dtype):
    """
        Create a polynomial from one of any subclass; this is used
        internally by the
        :py:meth:`~mvpoly.cube.MVPolyDict.__init__` constructor, but
        may be useful for direct application.
        """
    return cls.init_from_nonzero_tuples(p.nonzero, dtype)
