code: func (slist *syncedList) Iter() <-chan *list.Element {
  	ch := make(chan *list.Element)
  	go func() {
  		slist.RLock()
  		for e := slist.queue.Front(); e != nil; e = e.Next() {
  			ch <- e
  		}
  		slist.RUnlock()
  		close(ch)
  	}()
  	return ch
  }
docs: // Iter returns a chan which output all elements.