Seems like we don't need to set retval here. Right? It's assigned in all the case statements below.