A meditation on: domain-driven design and the power of metaphors, “explicit is better than implicit” and “reasoning footprints”, Peter Naur’s classic essay “Programming as Theory-Building”, and the power and limits of types as tools for thinking and communicating about software.