ral. You can define a function that works on any record as long as it has a specific set of fields. Records can be inferred. You can even define records as extensions of other records.\\n\\nGren intends to make sum types structural. As a consequence, we don\u2019t need a specific language construct for defining a sum type. Naming sum types can simply be done with aliases:\\n\\n```\\nFruit : | Apple | Banana\\n```\\n\\nNote the leading pipe symbol. It's what separates sum types from other types.\\n\\nThis is