Records
Immutable, value-based types in C# (introduced in C# 9.0) that are ideal for data that shouldn't change after creation. Records automatically generate equality comparisons based on property values (not reference identity), readable ToString() output, and deconstruction support. They're declared with minimal syntax:
public record LlmsTxtEntry(string Title, string Url, string? Description);
One line. No boilerplate. No hand-written equality overrides. No "wait, did I update the hash code when I added that field?" No you didn't and no you won't.
Why it matters for writers: Records are the preferred way to model data structures in modern C#, parsed llms.txt entries, validation results, API responses, game state snapshots. They reduce boilerplate dramatically, which means less code to document and more code that documents itself. If you see record in the project codebases, it's an intentional design choice for clarity and immutability, not a mistake or an experiment.
Related terms: Pattern Matching · Nullable Reference Types · File-Scoped Namespaces