General Update Pattern
This example demonstrates the D3 general update pattern for adding, updating, and removing SVG circles over time. The code uses `selection.data()` with a key function, `merge()`, and `exit().remove()` within a `fruitbowl` module. It employs `scaleOrdinal` for color and radius mappings, while setTimeout triggers three sequential data mutations—removing, modifying, and filtering fruits—to show corresponding enter, update, and exit transitions.