Previously the lack of this meant that we'd not decode to the expected
type in cases such as List. This was because Type wasn't passed
through given the call to decode() didn't include it.
This also now takes into account the class and type in the cache key,
where previously we could behave return a different class than expected
if deserializing into two different classes.
Coverage increased (+1.4%) to 91.145% when pulling 4aa485814275dd80cda34ddcf562fdda6aee9cd9 on horgh/cache-generic-type into 42a25d4a5514f6c7caa456d683381629ca3443cd on development.
Previously the lack of this meant that we'd not decode to the expected type in cases such as List. This was because Type wasn't passed
through given the call to decode() didn't include it.
This also now takes into account the class and type in the cache key, where previously we could behave return a different class than expected if deserializing into two different classes.