What problem does a record solve?
Strong answer
A record concisely models a transparent data carrier with final components, accessors, equals, hashCode, and toString generated from those components. It is shallowly immutable, so referenced objects can still be mutable.
