BTW - ECMAScript is weird when in comes to the String and Array constructors:
In my Chrome console:
```
> typeof new String()
"object"
> typeof new Array()
"object"
```
And, even weirder:
```
> typeof String()
"string"
> typeof Array()
"object"
```

This is all according to spec.
I think for Espruino it would make sense to allow constructors to return any type (perhaps excluding numbers).

I would doubt if that would break anything if the special handling was removed.