Module docstring
{"# Cardinality of finite types
The cardinality of a finite type α is given by Nat.card α. This function has
the \"junk value\" of 0 for infinite types, but to ensure the function has valid
output, one just needs to know that it's possible to produce a Finite instance
for the type. (Note: we could have defined a Finite.card that required you to
supply a Finite instance, but (a) the function would be noncomputable anyway
so there is no need to supply the instance and (b) the function would have a more
complicated dependent type that easily leads to \"motive not type correct\" errors.)
Implementation notes
Theorems about Nat.card are sometimes incidentally true for both finite and infinite
types. If removing a finiteness constraint results in no loss in legibility, we remove
it. We generally put such theorems into the SetTheory.Cardinal.Finite module.
"}