Constraining to new version of either and utilising related mtl instances for MonadError