The FE always passes strings to the kernel that look like:
"\"\<asdasd\>\""
And the \< and > get pruned out. We can simulate this for ourselves with:
"\"" <> "\\" <> "<" <> "asdasd" <> "\\" <> ">" <> "\"" // ToExpression
"asdasd"
Now it doesn't prune anything else, e.g. try:
"\"" <> "\\" <> "(" <> "asdasd" <> "\\" <> ")" <> "\"" // ToExpression
"\(asdasd\)"
So does it only strip those little angle brackets because the FE passes them? Or is there some other reason for it? And is it documented anywhere?