`record` to zwięzły nośnik danych. Generuje prywatne finalne pola, kanoniczny konstruktor, akcesory, `equals`, `hashCode` i `toString`. Sprawdza się jako DTO/obiekt wartości, gdzie równość wynika z danych, ale nie czyni zagnieżdżonych obiektów niemutowalnymi.