<div dir="ltr"><div dir="ltr">Am Mi., 5. Jan. 2022 um 11:40 Uhr schrieb Georgi Lyubenov <<a href="mailto:godzbanebane@gmail.com">godzbanebane@gmail.com</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">[...] However, here, trying to store undefined :: () is no different from trying to store () :: (). Is this difference in behaviour with other instances of Storable (where presumably trying to store undefined will blow up, as there is indeed some work to do there) intentionally ignored?</div></blockquote><div><br></div><div>Good point, this might be seen as a bug/inconsistency of Storable (): peek and poke are not strict in their arguments, while probably all(?) other instances are. But <a href="https://www.haskell.org/onlinereport/haskell2010/haskellch37.html">https://www.haskell.org/onlinereport/haskell2010/haskellch37.html</a> doesn't require this, so I would be reluctant to really call this a bug. Changing this can have "interesting" effects on the ecosystem, too, who knows? Again, this would be a change where the compiler doesn't help you.</div><div><br></div><div>Cheers,</div><div>   S.</div></div></div>