DYI contracts don't compose when mixing code using different DYI implementations. Some aspects of contracts have global semantics.