Module docstring
{"# Propositional typeclasses on several monoid homs
This file contains typeclasses used in the definition of equivariant maps, in the spirit what was initially developed by Frédéric Dupuis and Heather Macbeth for linear maps. However, we do not expect that all maps should be guessed automatically, as it happens for linear maps.
If φ, ψ… are monoid homs and M, N… are monoids, we add two instances:
* MonoidHom.CompTriple φ ψ χ, which expresses that ψ.comp φ = χ
* MonoidHom.IsId φ, which expresses that φ = id
Some basic lemmas are proved:
* MonoidHom.CompTriple.comp asserts MonoidHom.CompTriple φ ψ (ψ.comp φ)
* MonoidHom.CompTriple.id_comp asserts MonoidHom.CompTriple φ ψ ψ
  in the presence of MonoidHom.IsId φ
* its variant MonoidHom.CompTriple.comp_id
TODO : * align with RingHomCompTriple * probably rename MonoidHom.CompTriple as MonoidHomCompTriple (or, on the opposite, rename RingHomCompTriple as RingHom.CompTriple) * does one need AddHom.CompTriple ?
"}