Vec3+4 constructors fail on vector/scalar combinations

For example:

>new vec4(new vec3.raw(1,1,1),2)

leads to **Illegal argument(s): Invalid arguments**.

>new vec4(2,new vec3.raw(1,1,1))

leads to creation of a vec4 containing **[2.0,2.0,2.0,2.0]** instead of **[2.0,1.0,1.0,1.0]**.

Same goes for the vec3 constructor..

I think this problem arises because return statements in the first couple of if constructs of the constructors are missing.