I'll try to explain my thoughts with the help of examples. The variable `var` will be `null` if there is no `obj` key: ``` ## set var = obj? ``` The variable `var` will be `null` if there is no `obj` key or `obj` exists but no `obj.key` exists: ``` ## set var = obj?.key? ``` The variable `var` will be `null` if there is no `obj` key or throws if there is no `obj.key` exists: ``` ## set var = obj?.key ```