Products are specified with the interactor participations elements of typeCode "product" (PRD). A functionCode can label the main intended product vs. waste products (if they are even specified to balance the reaction.) Any other agents in the reactions (that are typically written above the arrow, including catalysts and solvents, are specified with the interactor participations elements of typeCode "catalyst" (CAT), even if, in the case of a solvent, we would not consider that a "catalyst". Again, the functionCode can be used with domain specific terminology to say "catalyst" in the narrower sense vs. "solvent", or any other more specific designation. In practical terms, one can think of typeCode values as: