You should probably use `PRIuZ` instead of `%lu` for `size_t`s