Currently we have no way of expressing whether a generic request was a Success vs Error, Hit vs Miss, etc. Add interface types to express this. We want:
Success responses to implement ISuccess
Hit, Miss, and other non-error responses to also implement ISuccess
Hit responses to implement IHit
Miss responses to implement IMiss
Add type annotations to control and data responses.
Survey other specialized types to account for this as well. (eg SetIfNotExists stored vs not stored)