its typical to start off with `var &&` to avoid operations on null & undefined values
!!(x && x.__proto__ === [].__proto__)
its typical to start off with `var &&` to avoid operations on null & undefined values