static  S uncompressLineCompedSingle(LineCompedSingle lc) {
  new StringBuilder buf;
  uncompressLineCompedSingle_step(lc, buf, lc.main);
  ret str(buf);
}
  
svoid  uncompressLineCompedSingle_step(LineCompedSingle lc, StringBuilder buf, L chunks) {
  for (int idx : chunks)
    if (idx < l(lc.literals))
      buf.append(lc.literals.get(idx));
    else
      uncompressLineCompedSingle_step(lc, buf, intPairToList(lc.pairs.get(idx-l(lc.literals))));
}