The more generic types for data collections. They can, if applicable, be addressed with `isIterable()`. 
## Plain Objects

| Input value      | `getType()` returns | `get<Type>()` function(s)            |
|:-----------------|:--------------------|:-------------------------------------|
| `{ a: 1, b: 2 }` | `PlainObject`       | `isPlainObject()`                    |
| `{}`             | `PlainObject`       | `isPlainObject()`, `isEmptyObject()` |

## Arrays

| Input value | `getType()` returns | `get<Type>()` function(s)   |
|:------------|:--------------------|:----------------------------|
| `[]`        | `Array`             | `isArray()`, `isIterable()` |

## Maps

| Input value | `getType()` returns | `get<Type>()` function(s) |
|:------------|:--------------------|:--------------------------|
| `new Map()` | `Map`               | `isMap()`, `isIterable()` |

## Sets

| Input value | `getType()` returns | `get<Type>()` function(s) |
|:------------|:--------------------|:--------------------------|
| `new Set()` | `Set`               | `isSet()`, `isIterable()` |

## Weak  Maps

| Input value     | `getType()` returns | `get<Type>()` function(s)     |
|:----------------|:--------------------|:------------------------------|
| `new WeakMap()` | `WeakMap`           | `isWeakMap()`, `isIterable()` |

## Weak Sets

| Input value     | `getType()` returns | `get<Type>()` function(s)     |
|:----------------|:--------------------|:------------------------------|
| `new WeakSet()` | `WeakSet`           | `isWeakSet()`, `isIterable()` |