def METHOD_NAME():
    z = mpz(2)
    assert square(z) == mpz(4)
    assert square(z) == z * z
    q = mpq(2,3)
    assert square(q) == mpq(4,9)
    assert square(q) == q * q
    r = mpfr(5.3)
    assert square(r) == mpfr('28.09')
    assert square(r) == r * r
    c = mpc(2,3)
    assert square(c) == mpc('-5.0+12.0j')
    assert square(c) == c * c
    assert square(2) == square(z)
    assert square(Fraction(2,3)) == square(q)
    assert square(5.3) == square(r)
    assert square(complex(2,3)) == square(c)
    pytest.raises(TypeError, lambda: square('invalid'))