Not sure how this is cleaner? The prototype access + call is one of the ugliest parts of JS.

Please perf test this too. @jordwalke found that this key validation step was actually a huge performance bottle neck at one point in __DEV__ and unfortunately people perf test __DEV__ builds too. Makes us look bad.