Reasoning about Global Scope

Is there any documented (even official) mindful conceptual reasoning about the usage of the global pkgs scope?

I was stumbling over this:

https://github.com/NixOS/rfcs/pull/42#discussion_r499105517

(without any ancillary prefix unlike in fetch* or build*)

I think global scope is a bad concept in every aspect. But are there at least rules?