!str: IteratorInterpreter and ByteStringBatcher

also Fixing TerminationDirective return types
Merge pull request #16305 from drewhk/wip-iteratorinterpreter-drewhk

+str: IteratorInterpreter and ByteStringBatcher