nix-channels has its flaws too. The problem is essentially that you are
building against a moving target. This is fine if you are in free flow hacking mode
but if you require enterprise stability you probably want to freeze the
version at a certain point for each minor or major release of your project.
It's a little bit of a lucky dip whether you freeze on a version of
that is "a happy one" as in your users are untroubled or a "difficult one".
The Rustaceans seem to have a sensible nightly-build -> version system that
is worth looking at the train model.
When we come to flakes we will see another potential variation which shares some similarities with some of the rust ideas.