Since PRINT doesn't have an interesting return value, we might ask what the harm would be in making it return VOID...
Canonizing VOID Has Misleading Opt-Out Properties
The evolution of void results is such that it's part of the void-in-null-out strategy, as well a way of doing things like opting out of an APPEND without raising an error.
So consider this:
>> if 10 > 20 [<d>]
== ~void~ ; anti
>> if 10 < 20 [<d>]
== <d>
>> append [a b c] if 10 > 20 [<d>]
== [a b c]
>> append [a b c] if 10 < 20 [<d>]
== [a b c <d>]
That feels like a purposeful application of a void state. But if we were to say that PRINT returned void, we'd be condoning things like:
>> append [a b c] print "does this seem right?"
does this seem right?
== [a b c]
Somehow a function with an uninteresting result has been elevated to one that people might start assuming has an interesting, void result. It seems to me that having PRINT return an "ornery" value is a safer and saner strategy:
>> nothing? print "this makes more sense"
this makes more sense
== ~okay~ ; anti
>> append [a b c] print "I like this error"
I like this error
** Error: APPEND does not accept ~ antiform for its VALUE argument
General Argument: Limiting Interface Flexibility
Let's generalize the question to SOME-FUNCTION where the key point is that at the time you write it, you haven't thought of a meaningful result for it.
If at the time of writing a function you know that it doesn't have a meaningful return value, then making it return void--instead of returning a nothing value--ties your hands in changing it.
People will start writing things like:
all [
...
some-function ... ; user assumes no effect, because of void
...
]
But if SOME-FUNCTION had returned a nothing value, then they could have gotten the same effect more obviously with:
all [
...
elide some-function ...
...
]
This also gives more freedom to change the interface later, if you think of an interesting value to return. You can progressively add more return types after the fact. But once people assume you always return void, this trap will happen...you're locked in forever in a way that was pretty much completely avoidable.