return undef makes @list = ( undef ), which is sad