just informed myself about diamond dependency problems, i.e. the problem when a package A depends on package B and C which both depend on another package D, however with different versions. I.e. package B uses D v1.2 and C uses D v1.3.
The crux in such a setup is that you cannot easily pass results from B which use data structures from D v1.2 to C, which expects D v1.3 datastructures and hence may fail because of incompatibilities between the versions.
( See for instance this explanation for illustration and details https://www.well-typed.com/blog/2008/04/the-dreaded-diamond-dependency-problem/ )
More concretely, in julia, the functionality in C may not work at all with data from B, because it depends on function dispatches which uses types defined in D v1.3 (which are different from types from D v1.2)
Such problems look perfectly possible in julia 1.0 as every package is its own environment with individual dependency versions. How to solve this class of problems in julia?