code: func defaultConstruct(fn *_object, argumentList []Value) Value {
  	object := fn.runtime.newObject()
  	object.class = "Object"
  
  	prototype := fn.get("prototype")
  	if prototype.kind != valueObject {
  		prototype = toValue_object(fn.runtime.global.ObjectPrototype)
  	}
  	object.prototype = prototype._object()
  
  	this := toValue_object(object)
  	value := fn.call(this, argumentList, false, nativeFrame)
  	if value.kind == valueObject {
  		return value
  	}
  	return this
  }
docs: // 13.2.2 [[Construct]]