I don't see where either of those `lst_*` variables (i.e., the values in a `stored_attributes` or `local_stored_attributes` hash) would end up nil... is the `|| []` actually needed?

As for the names, I think plain `a` and `b` are fine, in this context.

Maybe we can save a couple of needless allocations by flipping things around a bit...

``` ruby
if local_stored_attributes
  .. merge ..
else
  parent
end
```