more about folding homomorphisms
smarter (pre|post)fix{Of}