Don't you think we should return a `dup` here? Or if we could change `parent`, why not to use `merge!` 2 lines above?