rework CacheWriter bulk methods to allow partial success

Not in love with how this method needs to cast but I didn't see a good way to avoid it.