code: func (db *DB) Update(fn func(tx *Tx) error) error {
  	return db.managed(true, fn)
  }
docs: // Update executes a function within a managed read/write transaction.
  // The transaction has been committed when no error is returned.
  // In the event that an error is returned, the transaction will be rolled back.
  // When a non-nil error is returned from the function, the transaction will be
  // rolled back and the that error will be return to the caller of Update().
  //
  // Executing a manual commit or rollback from inside the function will result
  // in a panic.