You can clone with
HTTPS or Subversion.
Many instances for MonadError have Error constraints that are completely unused. In particular, the MonadError instance for Either does not use its Error constraint. This does nothing except restrict generality.
I recall that we removed the Error constraint from the Monad for Either a.
We apparently didn't remove this constraint at that time.