// A = type of literals (e.g. String) // B = ID for files (e.g. String) static noeq record LineComped(L literals, L pairs, Map> files) { long roughCount() { ret l(literals) + l(pairs)*2 + totalLength(values(files)); } }