More specific matching for `remove'
Rework and implement a few more cases
Sync with reality
Fix merge conflicts