If I #remove_attribute, I expect that attribute to be gone. Its value should not be nil; rather, the key should be removed. What I am seeing is that the value is simply set to nil, rather than the key being removed.
In particular, this issue relates to models with a #field for that particular key. Rather, the key is set, get, or removed via #read_attribute, #write_attribute, and #remove_attribute.
Here is a failing spec that illustrates the issue.