@pushrax @csaunders I'm not sure I understand what you mean exactly. We'd still need to flatten the arguments in the public methods and we can't call private methods of ` IdentityCache` from `IdentityCache::QueryAPI`.

Flattening arguments is common pattern, e.g. [`ActiveRecord::FinderMethods#find`](https://github.com/rails/rails/blob/9310741222a1d7fdaf7490ff88f63206f03eed4c/activerecord/lib/active_record/relation/finder_methods.rb#L263)