```mermaid
graph TB
Clone[Clone
std trait]:::stdTrait
Debug[Debug
std trait]:::stdTrait
UpnpDeepClone[UpnpDeepClone
deep_clone]:::baseTrait
UpnpObject[UpnpObject
to_xml_element
to_xml
to_markdown]:::baseTrait
UpnpModel[UpnpModel
create_instance]:::derived1
UpnpInstance[UpnpInstance
new]:::derived1
UpnpTyped[UpnpTyped
get_name
get_object_type]:::derived1
UpnpSet[UpnpSet
is_set]:::derived1
UpnpTypedObject[UpnpTypedObject
marker]:::derived2
UpnpTypedInstance[UpnpTypedInstance
marker]:::derived3
UpnpModelSet[UpnpModelSet
marker]:::derived3
UpnInstanceSet[UpnInstanceSet
marker]:::derived3
Clone --> UpnpObject
Debug --> UpnpObject
UpnpObject --> UpnpModel
UpnpObject --> UpnpInstance
UpnpObject --> UpnpTyped
UpnpObject --> UpnpSet
UpnpObject --> UpnpTypedObject
UpnpTyped --> UpnpTypedObject
UpnpTypedObject --> UpnpTypedInstance
UpnpInstance --> UpnpTypedInstance
UpnpSet --> UpnpModelSet
UpnpModel --> UpnpModelSet
UpnpSet --> UpnInstanceSet
UpnpInstance --> UpnInstanceSet
classDef stdTrait fill:#e1f5ff,stroke:#01579b,stroke-width:2px
classDef baseTrait fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef derived1 fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef derived2 fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
classDef derived3 fill:#fce4ec,stroke:#880e4f,stroke-width:2px
```