code: func FilterEntries(f Filter) int {
  	// Compact the list
  	dst := 0
  	src := 0
  	n := f.Len()
  	for dst < n {
  		for src < n && f.Filter(src) {
  			src++
  		}
  		if src == n {
  			break
  		}
  		end := src + 1
  		for end < n && !f.Filter(end) {
  			end++
  		}
  		span := end - src
  		if span > 0 {
  			f.Move(dst, src, span)
  			dst += span
  			src += span
  		}
  	}
  
  	// Return the size of the slice
  	return dst
  }
docs: // FilterEntries is used to do an inplace filter of
  // a slice. This has cost proportional to the list length.