Encapsulation vs. Flexibility
The discussion highlights the tension between encapsulation and the need for flexibility in accessing internal details of data types. Despite this conflict, the ability to manipulate object structures generically offers powerful advantages, such as creating versatile importers and exporters. This approach is particularly beneficial for developing infrastructure services, enhancing the functionality of libraries and frameworks.In this clip
From this podcast

Software Engineering Radio - the podcast for professional software developers
Episode 28: Type Systems
Related Questions