whole_func_string: function (O, proto) {
    _anObject(O);
    if (!_isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
  }
func_code_string: function (O, proto) {
    _anObject(O);
    if (!_isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
  }
func_documentation_string: Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto