code: func (c *Client) DeleteMacro(ctx context.Context, id platform.ID) error {
  	op := getOp(platform.OpDeleteMacro)
  	return c.db.Update(func(tx *bolt.Tx) error {
  		b := tx.Bucket(macroBucket)
  
  		encID, err := id.Encode()
  		if err != nil {
  			return &platform.Error{
  				Code: platform.EInvalid,
  				Op:   op,
  				Err:  err,
  			}
  		}
  
  		d := b.Get(encID)
  		if d == nil {
  			return &platform.Error{
  				Code: platform.ENotFound,
  				Op:   op,
  				Msg:  "macro not found",
  			}
  		}
  
  		if err := b.Delete(encID); err != nil {
  			return &platform.Error{
  				Op:  op,
  				Err: err,
  			}
  		}
  
  		return nil
  	})
  }
docs: // DeleteMacro removes a single macro from the store by its ID