Stop silencing warnings

I think it's worth being more explicit, in a code comment or the commit message, what this is doing in and why. Eg, that this is a method for getting a singleton, but one that takes arguments and is potentially confusing, so loudly fails when it's used in a way that would fail silently/in an unexpected way.

It's a bit unintuitive if you're unfamiliar with the code, so it's worth being explicit IMO.