clrmodule uses glib in a single place: main_thread_handler takes a parameter of type gobject from glib, which is actually just a pointer to PyNet_Args (a cast is used). As main_thread_handler is an internal function, this dependency seems unnecessary.