Когда вы компилируете scala, вы указываете либо -target: msil, либо -target: jvm-X.X (по умолчанию используется java). Это означает, что вы можете попытаться сделать что-то кросс-компилируемое (которое будет работать с обеими целями, но должно быть скомпилировано отдельно для каждой).
Попытка одновременно разместить обе платформы с функциями, пересекающими границы, в то время как технически 1003 * возможна, чрезвычайно трудна и потребует полной поддержки как на уровне компилятора, так и на уровне среды выполнения.
Поскольку scala работает в одной или другой среде выполнения, очень маловероятно, что это когда-либо будет работать хорошо или что кто-то, способный достичь этого, будет беспокоиться. Также различные типы .Net не имеют аналогов в jvm и наоборот.
Правильное и эффективное поддержание корней GC в обеих средах выполнения в такой системе было бы темой, достойной диссертации в абстрактной диссертации, не говоря уже о ее реализации.