Given the deffinition of empty, I'd add a:

```D
version (assert) if (e.empty) throw new OutOfRangeError();
```