Feature
When a type is used in an error position in a result in multiple interfaces, it gets an impl std::error::Error definition in each module that it's used in. It should only get a single impl in the module that defines it instead.
Benefit
Error type reuse would be easier between wit interfaces.