What I think we're seeing here (and I don't know how to fix it) is that code that is loaded after LLKEY derives something from an object initialized by LLKEY, but when LLKEY is reloaded it creates a new instance of that object, but the derived data isn't recreated -- so the later code is looking at LLKEY data that's now dead, while LLKEY happily updates the new instance which has nobody watching it.
Originally posted by @nbriggs in #2538 (comment)
specifically, LLKEY needs to be fixed so that reloading it won't fail.