A typesafe way to get nested properties when any parent property might be undefined, while we wait for the optional chaining operator to finally exist