Maybe `assert()` instead of `throw`? ...just a style thing.