Symlinks sort of allow for graph-like structures in the filesystem, no?
Symlinks + preventing directory hardlinks are a decent compromise in power, where things that choose to understand them can handle graph-like structures, but things that wish to treat filesystems naively (thus treating symlinks as just another file) can work on trees. Beware the "friendly" library that automatically follows symlinks in something like a scripting language, for they are throwing you to the wolves in the name of user friendliness.