if is-object and is-array could be can be packages then i suppose this could become it's own package too