Offtopic:
As a guy who absolutely knows nothing about OS / kernel design, there is something that bothers me a lot: Why do I always need to close things? Why can't the kernel or the PL do that for me? I mean, at some point it just goes out of scope. Why do I need to manually close things? The things are files, network connections, channels and even mounting a filesystem.