  We devise a unified framework for the design of canonization algorithms.
Using hereditarily finite sets, we define a general notion of combinatorial
objects that includes graphs, hypergraphs, relational structures, codes,
permutation groups, tree decompositions, and so on.
  Our approach allows for a systematic transfer of the techniques that have
been developed for isomorphism testing to canonization. We use it to design a
canonization algorithm for combinatorial objects in general. This result gives
new fastest canonization algorithms with an asymptotic running time matching
the best known isomorphism algorithm for the following types of objects:
hypergraphs, hypergraphs of bounded color class size, permutation groups (up to
permutational isomorphism) and codes that are explicitly given (up to code
equivalence).
