Question/Idea: Improving explicit error handling in Swift (with enum operations)

It was considered some years back. Would be good to know what speaks against this?

First issue I can see is, that we have a namespacing problem, because types from different modules can be named the same.

import DogCore
import CatCore

enum FamilyError {
  case dogCoreAnimalError(DogCore.AnimalError)
  case catCoreAnimalError(CatCore.AnimalError)
}