<div dir="ltr">Nevermind, my last message would only ever allow me to do self inner joins. <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 12, 2017 at 11:55 PM, Cody Goodman <span dir="ltr"><<a href="mailto:codygman.consulting@gmail.com" target="_blank">codygman.consulting@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I figured out a way to kind of sideskirt the problem where I define my main join as a helper and then dispatch on length in the calling function. GHC generated this type for it:<br><br><br>innerJoin<br>  :: ((as ++ bs) ~ (bs ++ as), PrimMonad m, Ord k,<br>      RecVec (bs ++ as)) =><br>     Producer (Rec Identity bs) m ()<br>     -> Getting k (Rec Identity bs) k<br>     -> Producer (Rec Identity as) m ()<br>     -> Getting k (Rec Identity as) k<br>     -> m (FrameRec (bs ++ as))<br><br><br></div>What exactly does (as ++ bs) ~ (bs ++ as) mean?<div><div class="h5"><br><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 12, 2017 at 11:48 PM, Cody Goodman <span dir="ltr"><<a href="mailto:codygman.consulting@gmail.com" target="_blank">codygman.consulting@gmail.com</a><wbr>></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"><div><div><div><div>I know my question doesn't quite make sense and you can't have "multiple rigid type variables" but I couldn't think of a better way to characterize it or explain it. So I'll also try to give more detail below along with the code example and error at the end.<br></div><div><br>I have an inner join function using vinyl which does cool stuff like giving a type error if you try to join on a column that doesn't exist. I previously had an implementation that blindly built an index based on the left argument.<br><br></div>I then tried to dispatch based on the lengths of the left and right producer arguments. The problem is my return type is:<br><br>Rec f (as ++ bs)<br><br></div>That means I have two different producers, one of as and one of bs. I then do a case statement on the lengths and I want to store the producer to use for a given piece in that variable. The problem is ghc "pins" the type variable as either (Rec f as) or (Rec f bs) when I need to make that choice at runtime.<br><br><br></div>My code and error is both at github here: <a href="https://github.com/codygman/frames-diff/blob/inner-join-fix/Frames/Diff.hs#L113" target="_blank">https://github.com/codygman/fr<wbr>ames-diff/blob/inner-join-fix/<wbr>Frames/Diff.hs#L113</a><br><br></div>and below:<br><br><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">|</span> Performs an inner join and keeps any duplicate column</span>
      
      
        <table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC110" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> Recommend keeping columns in producers disjoint because accessing</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC111" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> anything but the leftmost duplicate column could prove difficult.</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC112" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> see: <a href="https://github.com/VinylRecords/Vinyl/issues/55#issuecomment-269891633" target="_blank">https://github.com/VinylRecord<wbr>s/Vinyl/issues/55#issuecomment<wbr>-269891633</a></span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC113" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line" style="background-color:rgb(248,238,199)">innerJoin <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">::</span> (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-en">MonadIO</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-smi">m</span>, <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-en"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-e">Ord</span></span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-smi">k</span>) <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">=</span>></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC114" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">             <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Producer</span> (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Rec</span> f leftRows) <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">IO</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">()</span>  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> leftProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC115" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">          -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Getting</span> k (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Rec</span> f leftRows) k     <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> leftProducer lens</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC116" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">          -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Producer</span> (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Rec</span> f rightRows) <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">IO</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">()</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> rightProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC117" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">          -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Getting</span> k (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Rec</span> f rightRows) k    <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> rightProducer lens</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC118" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">          -> m (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>Proxy</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>X</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">()</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">()</span> (<span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">Rec</span> f (leftRows ++ rightRows)) <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent">IO</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">()</span>)</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC119" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">innerJoin leftProducer leftLens rightProducer rightLens = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">do</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC120" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  leftProducerLen <- <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>liftIO $ <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">length</span> leftProducer</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC121" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  rightProducerLen <- <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>liftIO $ <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">length</span> rightProducer</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC122" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC123" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">let</span> curProducer = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> rightProducerLen < leftProducerLen <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC124" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                      <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">True</span></span> -> rightProducer</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC125" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                      <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> False -> leftProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC126" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC127" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">let</span> curKeymapProducer = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> rightProducerLen < leftProducerLen <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC128" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                            <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">True</span></span> -> leftProducer</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC129" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                            <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> False -> rightProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC130" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC131" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">let</span> curLensLookup = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> rightProducerLen < leftProducerLen <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC132" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">True</span></span> -> rightLens</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC133" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> False -> leftLens</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC134" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC135" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">let</span> curLensInsert = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> rightProducerLen < leftProducerLen <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC136" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">True</span></span> -> leftLens</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC137" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> False -> rightLens</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC138" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC139" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC140" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">let</span> appender km row = <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> rightProducerLen < leftProducerLen <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC141" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                          <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">True</span></span> -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">case</span> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">M.</span><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">lookup</span> (view curLensLookup row) km <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-k">of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC142" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                                     <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">Just</span></span> otherRow -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">pure</span> $ rappend otherRow row</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC143" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                                     <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-ent"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">Nothing</span></span> -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>mzero</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC144" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                          <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> False -> case M.lookup (view curLensLookup row) km of</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC145" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                          <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>            Just otherRow -> pure $ rappend row otherRow</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC146" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">                          <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>            Nothing -> P.mzero</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC147" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC148" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  keyMap <- <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>liftIO $ <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span>fold (\m r -> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">M.</span>insert (view curLensInsert r) r m) <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">M.</span>empty <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">id</span> curKeymapProducer</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC149" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC150" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">  <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">pure</span> $ curProducer >-> <span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">P.</span><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c1">mapM</span> (\r -> appender keyMap r)</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC151" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC152" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> error if I uncomment my false cases (specifically the False case  for curProducer)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC153" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> [5 of 5] Compiling Frames.Diff      ( Frames/Diff.hs, interpreted )</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC154" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line">
</td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC155" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span> Frames/Diff.hs:125:32: error:</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC156" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>     • Couldn't match type ‘leftRows’ with ‘rightRows’</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC157" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>       ‘leftRows’ is a rigid type variable bound by</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC158" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         the type signature for:</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC159" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           innerJoin :: forall (m :: * -> *) k (f :: *</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC160" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                                                     -> *) (leftRows :: [*]) (rightRows :: [*]).</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC161" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        (MonadIO m, Ord k) =></span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC162" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        Producer (Rec f leftRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC163" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Getting k (Rec f leftRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC164" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC165" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Getting k (Rec f rightRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC166" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> m (P.Proxy P.X () () (Rec f (leftRows ++ rightRows)) IO ())</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC167" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         at Frames/Diff.hs:113:14</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC168" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>       ‘rightRows’ is a rigid type variable bound by</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC169" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         the type signature for:</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC170" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           innerJoin :: forall (m :: * -> *) k (f :: *</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC171" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                                                     -> *) (leftRows :: [*]) (rightRows :: [*]).</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC172" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        (MonadIO m, Ord k) =></span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC173" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        Producer (Rec f leftRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC174" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Getting k (Rec f leftRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC175" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC176" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> Getting k (Rec f rightRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC177" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                        -> m (P.Proxy P.X () () (Rec f (leftRows ++ rightRows)) IO ())</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC178" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         at Frames/Diff.hs:113:14</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC179" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>       Expected type: Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC180" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         Actual type: Producer (Rec f leftRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC181" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>     • In the expression: leftProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC182" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>       In a case alternative: False -> leftProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC183" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>       In the expression:</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC184" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         case rightProducerLen < leftProducerLen of {</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC185" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           True -> rightProducer</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC186" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           False -> leftProducer }</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC187" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>     • Relevant bindings include</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC188" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         curProducer :: Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC189" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:123:7)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC190" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         rightLens :: Getting k (Rec f rightRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC191" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:119:47)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC192" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         rightProducer :: Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC193" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:119:33)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC194" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         leftLens :: Getting k (Rec f leftRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC195" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:119:24)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC196" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         leftProducer :: Producer (Rec f leftRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC197" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:119:11)</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC198" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>         innerJoin :: Producer (Rec f leftRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC199" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                      -> Getting k (Rec f leftRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC200" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                      -> Producer (Rec f rightRows) IO ()</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC201" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                      -> Getting k (Rec f rightRows) k</span></td>
      </tr>
      <tr>
        </tr></tbody></table><table class="m_5606629702869271563gmail-m_6835659211031765037gmail-highlight m_5606629702869271563gmail-m_6835659211031765037gmail-tab-size m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line-container"><tbody><tr><td id="m_5606629702869271563gmail-m_6835659211031765037gmail-LC202" class="m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code m_5606629702869271563gmail-m_6835659211031765037gmail-blob-code-inner m_5606629702869271563gmail-m_6835659211031765037gmail-js-file-line"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>                      -> m (P.Proxy P.X () () (Rec f (leftRows ++ rightRows)) IO ())</span></td>
      </tr>
      <tr>
        </tr></tbody></table><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c"><span class="m_5606629702869271563gmail-m_6835659211031765037gmail-pl-c">--</span>           (bound at Frames/Diff.hs:119:1)</span><br></div>
</blockquote></div><br></div></div></div></div></div></div>
</blockquote></div><br></div>