<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all,<div class=""><br class=""></div><div class="">I’m stuck in Ex. 10 of *Arrows and Computation*, by Ross Paterson:</div><div class=""><a href="https://htmlpreview.github.io/?https://github.com/capn-freako/Haskell_Misc/blob/master/Arrows_and_Computation/Arrows_and_Computation.html#ex9" class="">https://htmlpreview.github.io/?https://github.com/capn-freako/Haskell_Misc/blob/master/Arrows_and_Computation/Arrows_and_Computation.html#ex9</a></div><div class=""><br class=""></div><div class="">It seems to me that if, in the third step of my proof, I could convert the *<span style="background-color: rgb(255, 255, 255);" class=""><font face="monospace" class=""><span style="font-size: 14px; white-space: pre-wrap;" class="">left (pure fst)</span></font></span>* into *left (first <?>)*, then I could use the **distribution** axiom to convert *<span style="font-family: monospace; font-size: 14px; white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">pure distr >>> left (first <?>)</span>* into *first (left <?>) >>> pure distr *. At that point, I would have (starting from the left side of my expression): *first (..) >>> first (..)*, and could apply the functor property of *first*, in order to simplify the expression.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">-db</div><div class=""><br class=""></div></body></html>