The user is intended to see these messages: that's the point of pprint. The messages refer to a program the user is running. It produces diagnostics from the kernel to the user, and thus correctly uses standard error.
> there is no kprint in plan 9. neither can one
> syslog from the kernel.
I was going to be clearer, then got lazy:
-lr--r----- c 0 lucio lucio 0 Mar 21 20:44 /dev/kprint
that's the console, I've never investigated how the kernel writes to
it, but it sounds like the right place for diagnostics that should not
get mixed up with the user's stderr.
++L