OK, I've forgotten already: How did we do it before STRLITERAL IFEMPTY? I'm writing for systems where it may not be available and it's not worth distributing a whole extra Pipelines library just for that. These all seem clumsier than I remember:
(end /) ... 1: take 1 | strliteral append ... | take 1 | all: fanin | ... / 1: | all: (end /) ... 1: count lines | all: fanin | ... / 1: | find 0| specs ... | all: (end /) ... 1: fanout | 0: gate strict / 1: | all: fanin / strliteral ... | 0: | 1: I had a fantasy that GATE shorted its primary so we could use GATE STRICT|FANIN without that extra FANOUT, but I didn't use GATE much until long after it was established. I'm surprised it doesn't complain about the connected primary output--took me a while to realize why it was stalling. ¬R