Runtime type checking for React props and similar objects.
Define a non-enumerable property on an object. Uses Reflect.defineProperty when available, otherwise Object.defineProperty.
Define a lazily evaluated property on an object
Get, set, or delete a property from a nested object using a dot path