This trait is implemented for every folding traversal. There is a fold
method defined for every type of interest. Each such method has a default
that does an “identity” fold.

This trait is implemented for every type that can be folded,
providing the skeleton of the traversal.

This trait is implemented for every infallible folding traversal. There is
a fold method defined for every type of interest. Each such method has a
default that does an “identity” fold. Implementations of these methods
often fall back to a `super_fold_with`

method if the primary argument
doesn’t satisfy a particular condition.