The value type.
The nested record.
Path segments (strings or arrays of strings).
[value, setValue] — the value is undefined if an own path segment is missing;
the setter creates intermediate objects as needed.
Traverses only own properties. The setter creates own data properties, including
names such as __proto__, without following inherited objects or invoking inherited setters.
An empty path returns obj and a setter that does nothing. The returned value is
a snapshot of the access, not a live getter.
Accesses a nested record at the given path, returning a value and setter.