Anvil must be applied to any module which uses Tangle, so it seems a little silly to have to apply them both.
If Anvil hasn't already been applied, just apply it automatically. If it has already been applied, do nothing.
Anvil does similar "applyOnce" logic, so it's safe.
Tangle shouldn't specify the Anvil version, so the target project will still need to add it to the classpath in some way.