Type Classes Experimenting with type classes as a way to abstract over our data model when we want to cache / retrieve items