Sure, but that is irrelevant.
When there IS a script, you should be able to get its full path much easier, that is the complaint.
Doesn't need to act differently in what it does.
But it does need to report it, because e.g. you might want to bundle data/assets/config relative to the script, and want to be able to run it from wharever and have it still be able to find it.
In the later case, does it mean that it is not possible to write reusable code based on that feature? In the former case, what should be done when sourcing is done recursively? Can this be used to defeat file location, for instance, by generating a script in /tmp and sourcing another file from it?
Secondly, it's super frequent that scripts I write or that others write need the folder they're executed in as an argument.
99% of scripts I've seen aren't meant to be piped to. They're just launched as simple, dumb, standalone "programs".
This question does not really make sense. There need not be any script, or there may be many at the same time. What exactly do you want? Imagine, for example, that you are piping the output of some commands into the shell.