Move non-empty assertion to top level router