A correspondence I from from an AbstractVariety X (the source of I) to another AbstractVariety Y (the target of I) consists of two functions I* and I*, which take cycles on X to cycles on Y and vice-versa, respectively. In general these functions are not ring maps or even module maps. See Correspondence ^* and Correspondence _* for more info.
The object Correspondence is a type, with ancestor classes MutableHashTable < HashTable < Thing.