putting the metatable specializations back in the lib files

but still trapped in circular inclusion hell