For a rigorous treatment singularities need to be properly defined.
Let z be ah independent variable and w a dependent variable related by
a polynomial equation f(w,z) = 0.
Z is a pole if at least one value of w can be made arbitrarily large by
requiring z to be sufficiently close to Z. There ia a "pole at
infinity" if at least one value of w can be made arbitrarily
large by requiring z to be sufficiently large. Exchanging the two
variables above gives an inverse pole.
Those definitions are modulus-related. The ones which follow are
argument-related.
W is a node and Z is its branch-point if as z tends to Z at least two
w-values with different arg(w-W) values tend to W. A value for w which
satisfies f(w,Z) = 0 without being a node is
a conode.
There is a node at infinity and Z is its branch-point if as z tends to
Z at least two values for w with different arguments tend to infinity.
W is a node and infinity is its branch-point if two or more values for
w with different arguments and w-W arbitrarily small can be got by
requiring z to be sufficiently
large.
There is a node at infinity and infinity is its branch-point if two or
more values for w which differ in their arguments and have
arbitrarily large modulus can be got by requiring z to be
suffiently large.
It is easy to make up examples and classify them. Hint: Where there are
a number of terms use Newton's polygon.