how-i-think-of-the-expression-problem
The expression problem refers to the challenge of extending a data type with new operations versus adding new data variants. This article discusses different approaches to solving this programming language design issue, including object-oriented and functional programming techniques.