Use Value::new instead of custom Value construction
Optimise JS value construction from vectors