If we're going to raise an actual error here, it should be a real exception, not just an assertion error. it'll also need tests, etc, in that case, if not let's leave it as an assert.