**Often while using JavaScript you run into silly problems. One such problems is discerning between Object types.**

Is there a way to create a function with this functionality? *See Below:*

```
_discern = function () { [ function code ] };

_discern({}); // Logs: Object

_discern([]); // Logs: Array

_discern(document); // Logs: Pseudo-Object

_discern(document.querySelectorAll("*")); // Logs: Pseudo-Array

```

I've already tried creating a function that checks for array-likeness, but that didn't work as good as I had hoped:

```
isArrLike = function (_) {

    _[0] = 0; return [].slice.call(_).length >= Object.values(_).length;
};

```

And I've tried using that behavior into another function. All failures. Is there a way?