[cvs-nhc98] patch applied (hat): Exchanged the order of the phase for deriving instances and the phase for transforming data for tracing. This was vital to make derived instances work correctly with tracing. There is still the extract phases between the two tracing transformations. It has to be there, because it inserts the types of type declarations, which are transformed by the data transformation, into the symbol table. The function transformation expects these types there.