Asynchronous Functions and Promises belong in the same category but they aren't the same thing; Promises _are_ Promises and Asynchronous Functions _return_ Promises.

| Input value                    | `getType()` returns | `get<Type>()` function(s)           |
|:-------------------------------|:--------------------|:------------------------------------|
| `new Promise((resolve) => {})` | `Promise`           | `isPromise()`                       |
| `async function() {}`          | `AsyncFunction`     | `isAsyncFunction()`, `isCallable()` |