See also: {T89721}
In order to migrate from our `.static` container to native properties on the stThe most common one is `name`, like in `OO.ui.Dialog.static.name`.
Here is a complete list of reserved static property names (most of which we are not using).
**Unsafe**:
* Function (used to interact with class and constructor)
* `fn.constructor`
* `fn.prototype`
* `fn.length`
* `fn.name` //(instance property, ES6)//
* `fn.arguments` (useless, obsolete, but not assignable by default)
* `fn.caller` (useless, non-standard, but not assignable by default)
* `fn.toString`
**Safe** (can be overridden as own properties, where needed methods can and should be called on foreign objects from the prototype)
* Object
* `toLocaleString`
* `valueOf`
* `hasOwnProperty`
* `isPrototypeOf`
* `propertyIsEnumerable`
* Function
* `fn.apply`
* `fn.call`
* `fn.bind`
* `fn.arity` (obsolete, undefined by default, safe to assign)
* `fn.displayName` (non-standard Firefox/Chrome, undefined by default, safe to assign)
* `fn.toSource` (non-standard Firefox, inherited, though safe to assign)
* `fn.isGenerator` (non-standard Firefox, inherited, though safe to assign)