I think the semantics must be changed to those similar to:
mkdir -p /path/to/dir
contains("/path/to") == true
get("/path/to") has to return *something*.
Which means we may have to adjust the testsuites to match. Here we have to step lightly and carefully to ensure we aren't just changing tests to make stuff pass - they must pass correctly.
And I think then a request to get("/path/to") should return ... well ... DirectoryAsset is a hack and "null" is incorrect. Maybe it must be a Container type, like Node. If Node.getContents is empty, it's a directory. Note that here we just expose Node; not that the thing is internally a tree.
Thinking a bit on it. Or anyone else can chime in. If we go full boat, we expose the tree and allow client traversal. Beginning to wonder if this is necessary.