  Courant's theorem implies that the number of nodal domains of a Laplace
eigenfunction is controlled by the corresponding eigenvalue. Over the years,
there have been various attempts to find an appropriate generalization of this
statement in different directions. We propose a new take on this problem using
ideas from topological data analysis. We show that if one counts the nodal
domains in a coarse way, basically ignoring small oscillations, Courant's
theorem extends to linear combinations of eigenfunctions, to their products, to
other operators, and to higher topological invariants of nodal sets. We also
obtain a coarse version of the B\'ezout estimate for common zeros of linear
combinations of eigenfunctions. We show that our results are essentially sharp
and that the coarse count is necessary, since these extensions fail in general
for the standard count. Our approach combines multiscale polynomial
approximation in Sobolev spaces with new results in the theory of persistence
modules and barcodes.
