If a function can take multiple arguments, I don’t see why it couldn’t return multiple results too.
The workaround for that in current languages is to return an array or generator (iterator).
Suppose you instead had a kind of inverted recursion where, if the caller only consumes one result and there are 10 results, the caller is invoked 9 times extra, and the 10 results are passed to the caller’s caller. If the result list isn’t reduced anywhere, 10 results are shown in the REPL.