This is just a specialized `either`. Can we use that instead?