"empties" param only applies to ranges in cts.valueRanges
Better error reporting
Better polyfill for ES6 Array.from()

Still only handles iterators, not “things with a .length property”.
Need to move this into lib/.