Seems quite clear to me. If dplyr chooses to re-implement pipes (e.g. based on
[1]) then you should not be importing from magrittr unless you had a specific
reason to, and if you do then you should not make assumptions about where the
dplyr pipe came from.
[1]
I agree in general, but don't think that the situation is always so
straightforward.
A good example of the complexity is the case of reexported functions:
functions from other packages aimed at being used by users without the need
to load them from their original package.
For a concrete example,
Package B should import only the packages and functions that are used by
package B. If package B does not use functions from package C, package B should
not import package C. What package A does is package A's problem, not package
B's. If package A requires package C, install.packages() will