What do you think about the idea of implementing D3 like importC. That is, D2 and D3 will have the same AST, modules D2 and D3 will be compatible. The only problem is that D3 files must have their own file extension (maybe .mars), or a strange directive at the beginning.