title: What's the relationship between profunctors and arrows?
body: <p>Apparently, every <code>Arrow</code> is a <a href="https://hackage.haskell.org/package/profunctors-4.3.2/docs/Data-Profunctor.html#t:Strong" rel="noreferrer"><code>Strong</code></a> profunctor. Indeed <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Control-Arrow.html#v:-94--62--62-" rel="noreferrer"><code>^&gt;&gt;</code></a> and <code>&gt;&gt;^</code> correspond to <code>lmap</code> and <code>rmap</code>. And <code>first'</code> and <code>second'</code> are just the same as <code>first</code> and <code>second</code>. Similarly every <code>ArrowChoice</code> is also <a href="https://hackage.haskell.org/package/profunctors-4.3.2/docs/Data-Profunctor.html#t:Choice" rel="noreferrer"><code>Choice</code></a>.</p>
  
  <p>What profunctors lack compared to arrows is the ability to compose them. If we add composition, will we get an arrow? In other words, if a (strong) profunctor is also a <a href="https://hackage.haskell.org/package/base-4.9.0.0/docs/Control-Category.html#t:Category" rel="noreferrer">category</a>, is it already an arrow? If not, what's missing?</p>