On Monday, 2 February 2015 at 16:56:56 UTC, ponce wrote: > A => B => C v1.2.3 > A => D => C v1.3.6 > > Even if C v1.2.3 and v1.3.6 are API-compatible, you can't build > A if you don't control both B and C. > > So, version ranges are necessary for an ecosystem of libraries. Erratum: if you don't control both B and D*