Actually just realized that if my previous reason is correct, it should actually just check for `null` and `undefined`, since `get({ a: '' }, 'a.toString')` would return undefined if simply checking for falsy values.

Basically I don't see why we need to special case for primitives while still allowing prototype property lookup on objects and functions.