Due to some changes in the width/height of the inventory, the code behind the whole system has to be re-written. While it is not a complete loss, it is a solid 1,000+ line re-write. I can't emphasize how enough how important it is to create your code in a modular fashion from the start. I did the silly mistake of using ds_grids for all of my inventories which means that when you don't have the appropriate number of slots, the system no longer works as it should.
I am resorting to arrays from now on as they are a bit easier to deal with than lists.
Another perk of using arrays (according to what I have read) is that they use less memory. You can read more about it here: https://www.yoyogames.com/tech_blog/75
My guess as to why it is faster to initialize arrays from  for example, is that the memory is allocated in sequence. This means when we want to read , , , and  in order, it literally reads it like this:
Whereas in random access memory allocation such as the way of data structures, it would be read more like this:
[FUNKY JAZZ][SOME OTHER JAZZ][PICTURES OF BABIES][SOMETHING]
While that is not a perfect example the idea is that it does not read sequentially which is MUCH slower. Not enough to make a massive difference for most users but nonetheless, if you can optimize easily, then you should.