With it
idx(props, _ => _.user.friends[0].friends)
compiles to props.user == null ? props.user :
props.user.friends == null ? props.user.friends :
props.user.friends[0] == null ? props.user.friends[0] :
props.user.friends[0].friends
Optional chaining[2] would add this to JS at the language level by using ?. as the operator.[0]: https://github.com/facebookincubator/idx [1]: https://github.com/dralletje/idx.macro [2]: https://github.com/tc39/proposal-optional-chaining