>So using Mono to allow otherwise foreign code to run is unobjectionable.
Holy shit. What do you think you do every time you download a package? Sure you think its not bad, but you really have no idea. Its always "foreign." You don't know shit about what it does. You only know what it should do. Even if you compile from source, unless you look at every FUCKING line of code you will never be sure.
You can tune a piano, but you can't tuna fish. You can tune a filesystem, but you can't tuna fish. -- from the tunefs(8) man page