To be elegant, you want things to be composeable, and you ideally want them to compose in a natural, simple way. When designing feature "A," you shouldn't have to write special case code for composing A with B and A with C. What happens when you add "D?" Are you supposed to go back and retroactively change A, B, and C to compose with D?
0 commit comments