title: Right-tightening ArrowLoop law
body: <p>According to the <a href="https://hackage.haskell.org/package/base-4.9.1.0/docs/Control-Arrow.html#t:ArrowLoop" rel="noreferrer"><code>Control.Arrow</code></a> documentation, for many monads (those for which the <code>&gt;&gt;=</code> operation is strict) the <code>instance MonadFix m =&gt; ArrowLoop (Kleisli m)</code> does not satisfy the right-tightening law (<code>loop (f &gt;&gt;&gt; first h) = loop f &gt;&gt;&gt; h</code>) required by the <code>ArrowLoop</code> class. Why is that so?</p>