<p dir="ltr">In particular, I'm thinking about</p>
<p dir="ltr">instance MonadFix m => Monad (Backwards m) where<br>
  m >>= f = Backwards $<br>
    do<br>
      fin <- forwards (f int)<br>
      int <- forwards m<br>
      return fin</p>
<p dir="ltr">It looks to me like this should be valid, and compatible with the Applicative instance, but maybe I'm missing something.</p>