This is broken:
```ruby
{new_record: true}.merge!({}.extract!(:new_record, :allow_destroy, :heading))
# {:new_record=>nil, :allow_destroy=>nil, :heading=>nil}
```

you want to use slice instead