Why does kernel provide "module" macro?