code: func (kvm *Clone) Snapshot(wr io.Writer) error {
  	kvm.mu.RLock()
  	defer kvm.mu.RUnlock()
  	data, err := json.Marshal(kvm.keys)
  	if err != nil {
  		return err
  	}
  	if _, err := wr.Write(data); err != nil {
  		return err
  	}
  	return nil
  }
docs: // Snapshot creates a snapshot