Why add commands to `raco`?

I can see why one would put all the tooling needed to build and maintain Racket into raco as commands, but when does it make sense to add other commands to raco, as opposed to just running the executable?

For example, I can run scribble or raco scribble, but I'm not sure why I'd choose one over the other. It seems the only way to run pollen is via raco pollen. Why was that design choice made?

My $0.02 is that we probably shouldn't have made "scribble" but just "raco scribble" but we didn't realize that initially. The thought is that it is good to avoid cluttering folks's paths with lots of stuff, but it isn't so bad to add lots of stuff to raco. Scribble is pretty important in the racket ecosystem, tho, so it is a close call, I suppose.

Thanks. So basically it's a namespace pollution issue. I don't have too many Racket packages installed that provide executables, so I don't mind setting up my path to include /Users/smb/Library/Racket/{latest}/bin, where I see rash-repl and rmacs. I kinda wish pollen was there, too. But yeah, there shouldn't be much in /Applications/Racket/bin.

FWIW, the relevant paths are spit out by find-user-console-bin-dir from setup/dirs, which I process with my pathadd function in my shell for PATH and MANPATH (https://github.com/benknoble/Dotfiles/blob/a79114f053cc28cb6968fbd908b68610ef191fcc/links/zsh/mac/paths.zsh#L18-L27) like so

command -v racket &>/dev/null && {
  racket_paths=($(IFS=$'\n' racket -I racket/base -e '
    (require setup/dirs)
    (for-each displayln
              (list (find-user-console-bin-dir)
                    (find-user-man-dir)))
  '))
  pathadd $racket_paths[1]
  pathadd man $racket_paths[2]
}