And this is the way it works throughout, with different functions - 'do' aside, that is.
For example, there is the very powerful 'read' function.
This may take a simple string (text), a file location or a URL. You obviously know what it is and the interpreter will figure it out itself as well.
Now, let's say you want to read a file:
read "myfile.txt"
"Reading" a webpage:
read "http://somewebsite.com/somewebpage"
Parsing JSON from a remote source:
read.json "http://somewebsite.com/data.json"
Or parsing it from a string:
read.json "[1,2,3]"
And 'read' also can take different attributes, e.g. .csv (for parsing CSV files), .html etc etc...
Basically you pass a string with its options and the interpreter figures out where to get it from and what to do with it... :)