Description
Creates immutable struct-like Ruby classes with convenient constructors. It is useful for value objects, configuration records, and data passed between layers where accidental mutation would be a bug.
Immutability helps clarity but does not validate meaning by itself. Define required fields, defaults, and type expectations close to where objects are created.