Implicit compile-time dependencies

Right, if A has compile-time dependency on B, and B has runtime dependency on C, when C changes, A has to be re-compiled even though B does not have to!

See https://milhouse.dev/2016/08/11/understanding-elixir-recompilation/,
https://telnyx.com/resources/renan-ranelli-understanding-elixirs-re-compilation-at-elixirconf-2018 for more information.