Some checking needs to happen before this, in case the assignment is invalid for a different reason.