OK, building blocks. I buy that. But why the hell are we supposed to use building blocks instead of a sane API?
Sorry for going further OT. Though ... this is not really a Java or C# specific question. It's the question of library interfaces and now with Perl6 object system I am afraid we run the risk of going too puristicaly object oriented. Probably not with file system IO, but with other libraries. Building blocks (= implementation detail) leaking to the interface.
Enoch was right!
Enjoy the last years of Rome.