The implementation of the struct library has provided most features that the pack library was meant to solve. Whether or not it's still necessary should be determined, and if so it might make sense to make it a thin wrapper around either the struct lib or native LuaJIT features. Currently it manually implements the packing and unpacking behavior for each format specifier, which is unnecessarily tedious, error-prone and verbose.