code: func CancelNamedMutations(c context.Context, parent *ds.Key, names ...string) error {
  	toDel := make([]*ds.Key, 0, len(names))
  	nameSet := stringset.NewFromSlice(names...)
  	nameSet.Iter(func(name string) bool {
  		toDel = append(toDel, ds.NewKey(c, "tumble.Mutation", "n:"+name, 0, parent))
  		return true
  	})
  	err := ds.Delete(c, toDel)
  	numFailed := int64(0)
  	if me, ok := err.(errors.MultiError); ok {
  		numFailed = int64(len(me))
  	}
  	metricDeleted.Add(c, int64(len(toDel))-numFailed, parent.Namespace())
  	return errors.Filter(err, ds.ErrNoSuchEntity)
  }
docs: // CancelNamedMutations does a best-effort cancellation of the named mutations.