  A wide variety of problems in combinatorics and discrete optimization depend
on counting the set $S$ of integer points in a polytope, or in some more
general object constructed via discrete geometry and first-order logic. We take
a tour through numerous problems of this type. In particular, we consider
families of such sets $S_t$ depending on one or more integer parameters $t$,
and analyze the behavior of the function $f(t)=|S_t|$. In the examples that we
investigate, this function exhibits surprising polynomial-like behavior. We end
with two broad theorems detailing settings where this polynomial-like behavior
must hold. The plethora of examples illustrates the framework in which this
behavior occurs and also gives an intuition for many of the proofs, helping us
create a toolbox for counting problems like these.
