code: func (c *Adaptor) Finalize() (err error) {
  	c.mutex.Lock()
  	defer c.mutex.Unlock()
  
  	for _, pin := range c.digitalPins {
  		if pin != nil {
  			if e := pin.Unexport(); e != nil {
  				err = multierror.Append(err, e)
  			}
  		}
  	}
  	for _, bus := range c.i2cBuses {
  		if bus != nil {
  			if e := bus.Close(); e != nil {
  				err = multierror.Append(err, e)
  			}
  		}
  	}
  	return
  }
docs: // Finalize closes connection to board and pins