rpoplpush can return nil when the list is empty