I'm not sure whether this makes it worse or better, but you could replace this with:

```ruby
[cached_has_manys, cached_has_ones, cached_belongs_tos].
  compact.inject({}, :merge)
```