I've spent lots of time attempting various refactorings in this code,
More specifically, alternatives I've attempted were:
* breaking `load_dll` to two halfs — didn't work well because a bunch of similar arguments need to be passed between them. It's doable, just didn't seem pretty to me at all * replacing `STATUS_DLL_NOT_FOUND` with another error code: didn't really work because error codes from `load_dll` may return higher the stack, so… Yeah, well, it's doable as well, but isn't pretty.
So, yeah, given the circumstances, adding another argument to `load_dll()` is the most viable way AFAICS.