code: func newupdateClosure(offset int, writer bytewriter.Writer) updateClosure {
  	return func(val interface{}) error {
  		if _, isString := val.(string); isString {
  			writer.MustWrite(make([]byte, StringLength), offset)
  		}
  
  		_, err := writer.WriteVal(val, offset)
  		return err
  	}
  }
docs: // newupdateClosure creates a new update closure for an offset, type and buffer.