In the MDN docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
The for...of construct is described to be able to
for...of
Why so verbose?
const isIterable = object => object != null && typeof object[Symbol.iterator] === 'function'