What are Records and why should I use them - C#