Each alternative collation sequence requires a set of four user-created routines.
The interface to each routine is described below.