code: func (f *Field) SetBit(rowID, colID uint64, t *time.Time) (changed bool, err error) {
  	viewName := viewStandard
  	if !f.options.NoStandardView {
  		// Retrieve view. Exit if it doesn't exist.
  		view, err := f.createViewIfNotExists(viewName)
  		if err != nil {
  			return changed, errors.Wrap(err, "creating view")
  		}
  
  		// Set non-time bit.
  		if v, err := view.setBit(rowID, colID); err != nil {
  			return changed, errors.Wrap(err, "setting on view")
  		} else if v {
  			changed = v
  		}
  	}
  
  	// Exit early if no timestamp is specified.
  	if t == nil {
  		return changed, nil
  	}
  
  	// If a timestamp is specified then set bits across all views for the quantum.
  	for _, subname := range viewsByTime(viewName, *t, f.TimeQuantum()) {
  		view, err := f.createViewIfNotExists(subname)
  		if err != nil {
  			return changed, errors.Wrapf(err, "creating view %s", subname)
  		}
  
  		if c, err := view.setBit(rowID, colID); err != nil {
  			return changed, errors.Wrapf(err, "setting on view %s", subname)
  		} else if c {
  			changed = true
  		}
  	}
  
  	return changed, nil
  }
docs: // SetBit sets a bit on a view within the field.