code: func (s *Store) Insert(key, data interface{}) error {
  	return s.Bolt().Update(func(tx *bolt.Tx) error {
  		return s.TxInsert(tx, key, data)
  	})
  }
docs: // Insert inserts the passed in data into the the bolthold
  //
  // If the the key already exists in the bolthold, then an ErrKeyExists is returned
  // If the data struct has a field tagged as `boltholdKey` and it is the same type
  // as the Insert key, AND the data struct is passed by reference, AND the key field
  // is currently set to the zero-value for that type, then that field will be set to
  // the value of the insert key.
  //
  // To use this with bolthold.NextSequence() use a type of `uint64` for the key field.