`eleveldb:destroy` used by `hashtree:destroy` just needs the path, the entire open/close/destroy/reopen sequence could probably just be destroy/open if you added `hashtree:destroy(Path) where is_list(Path)` to `hashtree.erl`. Unclear if that's good/bad given plans to extend hashtree to have different backends in the future, but something to consider.