❔ The best way to create custom types? - C#