TODO: hxlib() needs less code because dlopen() is doing it all, really