I looked at the C code generated for MLkit without my coaleser and the max frame size is 46,136. I.e., not so far from the 65K limit. Still, I have no understanding of why this should change at all. I tried Knuth-Bendix, which went from 10 chunks down to 3 chunks, and the maximum frame size didn't change at all (164 bytes).