```cpp BlockEmergeData::~BlockEmergeData() { for (cb_with_param_t cb: callbacks) { void *cb_param = cb.second; delete cb_param; } } ``` My approach here was to delete the resource when the object managing the resource lifetime is itself deleted. I changed the data struct to a class to define this destructor, and it compiles, but I get a warning that deleting a `void*` is undefined.