A map of chain complexes f : C →D of degree d is a sequence of maps fi : Ci →Dd+i. No relationship between the maps fi and and the differentials of either C or D is assumed.
The set of all maps from C to D form the complex Hom(C,D) where Hom(C,D)d consists of the maps of degree d.
The usual algebraic operations are available: addition, subtraction, scalar multiplication, and composition. The identity map from a chain complex to itself can be produced with id. An attempt to add (subtract, or compare) a ring element to a chain complex will result in the ring element being multiplied by the appropriate identity map.
The object ComplexMap is a type, with ancestor classes HashTable < Thing.