Add fallbacks

I've always been inclined to expose other people's shenanigans than do work to avoid them.  Is this actually something we want to stay resilient to?

blindly using `hasOwnProperty` makes constructing an object with `Object.create` less useful. Definitely a distinctive style though.