<div dir="auto"><div>I meant the valueness check. I know their motivation has to do with type safety (IIRC, it's to avoid what we know in Haskell as unsafeCoerce-via-unsafePerformIO).<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 25, 2023, 9:07 PM Richard Eisenberg <<a href="mailto:lists@richarde.dev">lists@richarde.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>On Jan 22, 2023, at 1:12 AM, David Feuer <<a href="mailto:david.feuer@gmail.com" target="_blank" rel="noreferrer">david.feuer@gmail.com</a>> wrote:</div><br><div><span style="font-family:Helvetica;font-size:14px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important">That's what ML calls the "value restriction", right?</span></div></blockquote></div><br><div>No, ML's value restriction is unrelated to this conversation. ML's value restriction says that all polymorphic variables (top-level or otherwise) must syntactically be values -- not, say, function calls. The "value-ness" check might end up similar, but the motivations are distinct.</div><div><br></div><div>Richard</div></div></blockquote></div></div></div>