Its completely broken with perfectly legitimate local DNS URLs.
Can you give an example of a 'perfectly legitimate URL' that doesn't work? (Hint: all URLs begin with a scheme such as http: or file:)
The fundamental problem is that you need some way to separate the program itself (which is purely functional) from whatever scaffolding and diagnostic code you put in to help test and debug it. In imperative languages you can happily mix the two together but in pure functional programming you can't, and the language environment has to provide explicit support for trace messages and the like.
It is better to never have tried anything than to have tried something and failed. - motto of jerks, weenies and losers everywhere