I am pleased to learn that I may not have to go through the bother of implementing fusegraf after all. There is already a program called fusepak which mounts several different GRAFs onto the filesystem using fuse. Further, the author, Janusz Dziemidowicz, has expressed interest in implementing a BMS parser to allow an impressive amount of extensibility for fusepak. This part of the project is being written in (what I understand to be) an object-oriented, functional programming language: OCaml. If you have ever heard of this language, maybe you will wish to investigate this project as an academic matter. For my part, I’m looking forward to the finished product.

FWIW, MLdonkey ( http://mldonkey.berlios.de/ ) is one of the few projects which use OCaml as a programming language.
I’ve used Caml (the non-object oriented version of OCaml) during my studies, and I was quite amazed by the beauty of the code I was able to write with that language.
However, as an interpreted laguage (at least, Caml is), it was quite unusable for big projects.