ClientStore is already a ReadableStore so you could use combinators in any case.

You are right though, proxying a ReadableStore would have been sufficient for my use case - it simply didn't occur to me. Though I am pretty sure that guice would joke due to type erasure on different ReadableStore[X,Y].  I ended up injecting a wrapper for all clients anyways. Closing this.