That could mean two things: either there's a tool to check that whenever you depend on the existence of a symbol _FOO, there is indeed a symbol _FOO. Or, whenever you used to depend on the existence of a symbol _FOO, not only does _FOO still exist but that it refers to the "same thing". (E.g., if it points to a function, that that function's assembly is unmodified. And all the functions that it calls are, in turn, unmodified.)
I assume you mean the former. Such functionality is handy, but it's exactly what I'm referring to by "assumed" compatibility -- hey, the names are right, it must work! If the library author and the application author did their jobs perfectly then of course this is true, and often it works out well enough in practice, but... the value you see in something like NixOS will depend on how willing you are to assume that's the case.
Personally, I consider our present approach to be a lamentable imperfection imposed by a world of constant security updates, limited bandwidth, and awful QA capabilities. I'm not sure when or if I'll be able to switch to a NixOS-style system, but I'm glad someone is reminding us of this fact.