// A = type of literals (e.g. String) static noeq record LineCompedSingle(L literals, L pairs, L main) { long roughCount() { ret l(literals) + l(pairs)*2 + l(main); } int nLiterals() { ret l(literals); } int nItems() { ret l(literals) + l(pairs); } IntPair getPair(int symbol) { ret pairs.get(symbol-l(literals)); } }