interface CompressionRegime_AnyType { byte[] decompressorToBytes(A decompressor); A decompressorFromBytes(byte[] compressed); // return type O to make regime reusable e.g. for elements of lists O runDecompressor(A a); // e.g. full eval check CompressionRegime_AnyType fullRegime(); }