Design first for call site, second for implementation. Design first for the user, second for the maintainer.
#8 Call Site Design
#8 Call Site Design
#8 Call Site Design
Design first for call site, second for implementation. Design first for the user, second for the maintainer.