Either now implements IFunctor and IApplicative