One may wonder why the filesystem driver doesn't have cycle detection, but the fact that filesystem structures are generally considered trusted data, a cycle detection algorithm would add overhead and complexity, and the inherent (4GB) limit means that this is something better left to an application like chkdsk/fsck.
FAT is still the most widely used, lowest-common-denominator, non-proprietary filesystem so it's not going away anytime soon.
I once made a Fat filesystem driver in JavaScript: https://www.quaxio.com/fat12js/index.htm