replace CodeOrPath with Either<Code, List<Label>>