Registering a function with atexit does not really match what I would expect from this crate/attribute. I would expect that, like __attribute__((destructor)), the function is called at module unload time, which could occur at a different time than actual program exit.