Imagine a compression that is just a counter aka pointer + size, pointing to pi. If you want to trade computation, you could even add recursive hop pointering. As in the place this points is pointer to the next location with size.
You'll like this then: https://github.com/philipl/pifs