Minor nit: If you're going to change the function expression with arrow function, I think we can get rid of `return` as well:
```js
return getWindows().
         filter(isBrowser).
         reduce((tabs, window) => tabs.concat(getTabs(window)));
```
But it's fine either way.