code: func (f *fragment) importSetValue(columnID uint64, bitDepth uint, value uint64, clear bool) (changed bool, err error) { // nolint: unparam
  	for i := uint(0); i < bitDepth; i++ {
  		if value&(1<<i) != 0 {
  			bit, err := f.pos(uint64(i), columnID)
  			if err != nil {
  				return changed, errors.Wrap(err, "getting set pos")
  			}
  			if c, err := f.storage.Add(bit); err != nil {
  				return changed, errors.Wrap(err, "adding")
  			} else if c {
  				changed = true
  			}
  		} else {
  			bit, err := f.pos(uint64(i), columnID)
  			if err != nil {
  				return changed, errors.Wrap(err, "getting clear pos")
  			}
  			if c, err := f.storage.Remove(bit); err != nil {
  				return changed, errors.Wrap(err, "removing")
  			} else if c {
  				changed = true
  			}
  		}
  	}
  
  	// Mark value as set.
  	p, err := f.pos(uint64(bitDepth), columnID)
  	if err != nil {
  		return changed, errors.Wrap(err, "getting not-null pos")
  	}
  	if clear {
  		if c, err := f.storage.Remove(p); err != nil {
  			return changed, errors.Wrap(err, "removing not-null from storage")
  		} else if c {
  			changed = true
  		}
  	} else {
  		if c, err := f.storage.Add(p); err != nil {
  			return changed, errors.Wrap(err, "adding not-null to storage")
  		} else if c {
  			changed = true
  		}
  	}
  
  	return changed, nil
  }
docs: // importSetValue is a more efficient SetValue just for imports.