In this case `relativeName()` was throwing due to the ScriptNode not being a child of itself. I wasn't really sure what name to use here - the node name itself isn't really meaningful, and `ScriptNode` might not mean much to a user. In practice ScriptNodes are only read-only when the file on the filesystem is read-only, so I went with "File" as hopefully being the most self-explanatory.