A plain repl acts on a pair of characters streams and you can't escape that (you can't go back to bytes).
Likewise, an unrepl outputstream is a stream of end forms and you can't escape that.
So further upgrades won't touch that. The current design and implementation (stdin activity detection) is miguided.