@notsludgebomb take, for example, KotlinX CoroutinesIts test library lets you use some kind of reflection hack to replace the global state default dispatcher. If not for that being intentionally put in, you simply couldn't test things properlyWhile some kinds of global state theoretically don't hurt, you don't know where it'll bite you, so it's good practice to just pass it down as a dependency.