Combinatorial probability and the tightness of generalization bounds