I think all of this amounts to the same general problem, no getters in NBTList. I could import and modify NBTList as you suggested (I'd need to read up on the proper way to do this), but as I mentioned I am a bit hesitant to do that, for one I didn't want this PR to add a lot of maintenance burden.

I'm also wondering if it's a bad idea to store data types in an NBTList that Minecraft itself doesn't seem to use internally?