make sure _.isObject isnt called before checking on its subtypes
add tests