About 2 - it looks like the morphisms **g** and **h** should really be the same morphism, is there a way to show this? If we had a reverse morphism \\(f^{-1}: b \to a\\), such that \\(f \cdot f^{-1} = id_b\\) then this would follow naturally, but we don't. We just have some image of *a*, \\(f: a \to Im(a)\\), in *b*. So basically we are saying that this equality holds only for a subset of *b*, other entries may have different outcomes from **g** and **h**.

**EDIT**: got it, if _a_ contains mothers with a single child, and _b_ is the set of all mothers, then \\(f.g = f.h\\), but in general, for other mothers, the first child and the last are not equal.