One major part of Swift is its value types; many core types, including arrays, are passed by value, like a C struct. So
var a = [1, 2]
var b = a
b.append(3)
should make `a` equal to [1, 2] and `b` equal to [1, 2, 3]. ShiftJS eschews these semantics and instead passes arrays (and other value types) by reference, which makes it basically impossible to share code between real Swift and ShiftJS.Also, the demo compiles
let a = 3 4
to var a = '3 4';
which doesn't instill confidence.