object functions can handle hasOwnProperty override

The reason I left it like this is so you guys can decide how to handle edge cases such as `R.keys(5)`