bug fix in guardEither