Change prune liberal

Since we're picking nodes to prune based on structural hashes, that we go on to delete them via object identity doesn't change the end result. I pull that out, along with the top level looping (similar to previous pull request) & all test pass.