I'm not sure this makes as much sense for MutableCache.  The problem is that this is not atomic.  Since the cache can change by the time you get after the hit, it's changed.  For immutable, this method makes sense.

I would say that for mutable cache you want:
```
def hitAndGet(k: K): Option[V]
``
if we want to maintain the difference between get and hit.