<div dir="ltr"><div>I&#39;d like to have an asynchronous channel that does not remove a value from its buffer on sync, so that I can separate the code that waits for a message from the code that removes everything currently in the channel. In some sense, I want sync to do a &quot;peek&quot;, not a &quot;get&quot;. Does anything like this exist in Racket (or perhaps in the package system), or would I have to write it myself?<br>

<br></div>Jonathan<br></div>