a removable singularity
Sometimes a function looks broken at a point only because of how it was written, not because anything truly goes wrong there. The classic case is (sin z)/z at z = 0: you cannot literally plug in 0 (you would divide by zero), yet as z approaches 0 the value glides smoothly toward 1. The 'hole' at 0 is fake — you can fill it in. That kind of singularity is called removable.
In Laurent terms, an isolated singularity z_0 is removable exactly when the principal part is empty: every negative coefficient a_n (for n less than 0) is zero, so the Laurent series is already an ordinary power series a_0 + a_1 (z - z_0) + .... That series defines a perfectly holomorphic function on the FULL disk, and it agrees with f on the punctured disk; you simply set f(z_0) = a_0 to plug the hole. After that single repair, f is holomorphic with no singularity at all. Equivalently, z_0 is removable if and only if f stays bounded near z_0 — that bounded behaviour is the tell-tale sign (this is Riemann's theorem).
Removable singularities are the gentlest of the three types and often appear as artifacts of algebra: a common factor cancels, or a known series divides evenly. Recognizing one lets you legitimately treat the function as holomorphic across the point, which matters when you integrate (a removable singularity contributes nothing — its residue is zero) or when you build new functions like (e^z - 1)/z that are entire once the hole is filled.
f(z) = (e^z - 1)/z is undefined at 0, but e^z - 1 = z + z^2/2 + z^3/6 + ..., so f = 1 + z/2 + z^2/6 + ... — no negative powers. Setting f(0) = 1 removes the singularity and f becomes entire.
An empty principal part means the hole can be plugged: define f(0) = a_0 and you are done.
Removable does not mean the original formula is defined at z_0 — it means a single value CAN be assigned to make it holomorphic; until you assign it, f is still strictly undefined there.