wouldn't this be more readable if it were a precondition?