code: func (iter Enumerator) Where(predicate Predicate) Enumerator {
  	retval := make(chan interface{})
  	go func() {
  		for item := range iter {
  			if predicate(item) {
  				retval <- item
  			}
  		}
  		close(retval)
  	}()
  
  	return retval
  }
docs: // Where iterates over a list and returns only the elements that satisfy a
  // predicate.