First and second argument indexing -- which should be a first argument

Thank you.

Yes, right – i also can simply not deal with the OneOnly case, and let it be processed by the general [First | Rest] case – but, what i really want is to save calls. by moving the choice from the coded program into the indexing.

Yes, but seems to me it’s “working as designed”.

For this particular code, if the hidden DCG argument is instantiated (which is how I interpreted “for a given wire encoding” when I read the comment), there’s no explosion of choice points.