Every item should declare what paths it adds. We can say that the canonical path for an item is its path prefix followed by :: followed by the item's path component. Modules and implementations change the path prefix, while everything except implementations define new path components.