<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Feb 28, 2013 at 9:18 PM, Joey Adams <span dir="ltr">&lt;<a href="mailto:joeyadams3.14159@gmail.com" target="_blank">joeyadams3.14159@gmail.com</a>&gt;</span> wrote:<br>

<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">Can I  transform a conduit so some values are passed through unchanged, but others go through the conduit?  For example:<br>

<div><div><br>    right :: Conduit i m o -&gt; Conduit (Either x i) m (Either x o)<br></div></div></div></blockquote><div><br></div><div>Actually, I didn&#39;t need this after all.  I&#39;m using Automaton from the arrows package for the first part of my pipeline.  Only the zlib compression step is a Conduit, so I can just use arrow functions to lift Flush to the rest.<br>

<br></div><div>Nonetheless, someone else might want to do this.  Now that I think of it, not all of the arrow operations make sense (in particular, (***)), but splitting data between conduits (like ArrowChoice (+++)) does make sense, I think.<br>

</div></div></div></div>