Wouldn't `purge_keys` lead ultimately to a double `del` on the engines?  Eventually the distributed arrays will be cleaned up on the Client, and when that happens, they'll `del` the LocalArrays on the engines.  If `purge_keys()` was already called, the `LocalArray`s have already been `del`.  Or am I missing something?