Fix delete and return scope

Two fixes in this PR:

- The self-invoking function introduced with #6 now preserves the scope
- `delete obj.prop` wrapped `obj.prop` in a coverage call with the effect that nothing was deleted