Why the preceeding `_`? I don't think I've seen that anywhere else in the code base. Also, the name `_to_hash` doesn't seem right since those style of methods don't normally take a parameter and instead just return the representation of the receiver in some form. Maybe `add_entries_to(target)` would be a better name?