code: func FilterInPlace(sl interface{}, f interface{}) {
  	v := reflect.ValueOf(sl).Elem()
  	j := 0
  	for i := 0; i < v.Len(); i++ {
  		e := v.Index(i)
  		if reflect.ValueOf(f).Call([]reflect.Value{e.Addr()})[0].Bool() {
  			v.Index(j).Set(e)
  			j++
  		}
  	}
  	v.SetLen(j)
  }
docs: // sl []T, f is func(*T) bool.