I remember finding this the first time I implemented .NET Hibernate and was exploring the library. I considered implementing it, but I like the control. It usually lets me catch problems early on, like if I accidentally delete the health column when making a new column, I wrote the map file and so it catches the problem (since it's not generated). I also document the files.