Enumerative combinatorics is primarily concerned with simultaneously
counting the number of elements in an infinite collection of finite
sets. Subsets, partitions, and permutations of an n-element
set are classic examples. The techniques include double-counting,
bijections, recurrences, and generating functions.