<div dir="ltr"><div style="font-family:monospace" class="gmail_default"><br>Hello Ron,<br><br>Thank you for your response!<br><br>> The issue is not immutability<br><br>So let me reiterate what I said to Vicente -- I did not and do not take issue with records being immutable. Immutability is a good thing, and I did not and do not want that to go away.<br><br>> While records represent simple data, not all simple data<br>> can and should be directly represented as records.<br>> Records are specifically tuples (i.e. product types), and<br>> cyclic data structures are not tuples.<br><br>???<br><br>The dictionary definition of "product type" disagrees with you, correct? Let me post a snippet of the definition here.<br><br>"In programming languages and type theory, a product of types is another, compounded, type in a structure. The "operands" of the product are types, and the structure of a product type is determined by the fixed order of the operands in the product. An instance of a product type retains the fixed order, but otherwise MAY CONTAIN ALL POSSIBLE INSTANCES OF ITS PRIMITIVE DATA TYPES."<br><br>"If there are only two component types, it can be called a "pair type". For example, if two component types A and B are THE SET OF ALL POSSIBLE VALUES OF THAT TYPE, the product type written A × B contains elements that are pairs (a,b), where "a" and "b" are instances of A and B respectively."<br><br>Am I misreading this? Because even after multiple readings of it, the definition seems clear, obvious, and in direct contradiction to what you are saying. What am I missing here?<br><br>> The issue is[...]that tuples do not<br>> represent cyclic data, at least not directly <br><br>Again, I am struggling to see where you pulling this logic and definition from. It seems counter to what everyone else calls a product type or a tuple.<br><br>Here is another snippet.<br><br>"In type theory a product type of two types A and B is the type whose terms are ordered pairs (a,b) with a:A and b:B."<br><br>"In a model of the type theory in categorical semantics, this is a product. In set theory, it is a CARTESIAN PRODUCT. In dependent type theory, it is a special case of a dependent sum."<br><br>Help me out here.<br><br>Thank you for your time!<br>David Alayachew<br></div><br></div>