How to get the location of source file?

Hi Joe,
I'm trying to find a reliable way for a script to locate its own location. Right now I use Util.CurrentScriptPath, but it returns the wrong path when the script is loaded.

Minimal repro:
1. Create A.linq and B.linq, each call Util.CurrentScriptPath to report their own path.
2. Running them individually, both return the correct result.
3. After adding #load "A.linq" to B.linq, the call inside A.linq returns the path of B.linq, instead of A.linq's own location.

I expected CurrentScriptPath to resolve per file — i.e. to the file the code physically lives in.

Why I need it: I keep project's data files with their analysis scripts in the same directory, so a script derives its data paths from its own location and the whole folder stays movable and renameable.
When I run an aggregate analysis across several projects, I need to #load the relevant scripts into one entry script. So I hope there is a way to get script file's own physical path.

Thanks!