Why is anemic data models risky in production code?
Why should class fields typically be private?
What does it mean for a class to have an invariant?