maybe we can leave it as assert, but if the optimizers improve, it might go away.