I don't think this is correct, there was no such behaviour in my original draft specification and the current draft says `ReturnIfAbrupt(items)` where `items` would be an empty object if the argument was `undefined`—unless I've completely misunderstood the Completion Type semantics, this isn't going to throw or return here. 

```js
// Step 2
var items = Object(undefined);
```
... Now skip ahead to...
```js
// Step 10
// No value is assigned to lenValue
var lenValue = items.length;
// Step 11
// ToLength will do a ToInteger, which is approximately:
var len = lenValue | 0;
```

Since the value of `len` is now zero, steps 13-20 will produce an empty array and that's what is expected from `Array.from(undefined)`