how do you now that the previous pop didn't return an empty value. is this even required to check, since if it is a list, all list have same length? (this is iter_opts, so you know they are lists)