Back to the built-in Either instance

Otherwise, our instance can conflict with the standard one, which makes
our API hard to use.
Collapse the fas recursive cases together

This "obviously" works. Just in case, I've added a check.