Curried property accessor function that resolves deeply-nested object properties via dot/bracket-notation string path while mitigating TypeErrors via friendly and composable API.
An ES-spec-compliant shim/polyfill/replacement for the .cause
property on all Error types that works as far down as ES3