- distinguish compression from decompression - add a context - move from a record structure to typeclass + wrapping data for hiding the existential quantification.