# `UnionDict` – a dict with set like operations and keys as attributes

This object combines the key-element storage of a `dict` with the union operation of a `set()` object. It is used in the `cogent3.draw` module, primarily for the `figure` and `layout` attributes.

## Accessing elements of a `UnionDict`

Keys in a `UnionDict` can be accessed like attributes

## Updating a `UnionDict`

If you use the `|` bitwise operator to compare two dicts and the left one is a `UnionDict`, a union operation is performed.

This can also be done using the `union` method.

## Accessing a non-existent `UnionDict` key

But if accessing as an attribute, you get an attribute error.