code: func (e *Adaptor) Finalize() (err error) {
  	if errs := e.tristate.Unexport(); errs != nil {
  		err = multierror.Append(err, errs)
  	}
  	for _, pin := range e.digitalPins {
  		if pin != nil {
  			if errs := pin.Unexport(); errs != nil {
  				err = multierror.Append(err, errs)
  			}
  		}
  	}
  	for _, pin := range e.pwmPins {
  		if pin != nil {
  			if errs := pin.Enable(false); errs != nil {
  				err = multierror.Append(err, errs)
  			}
  			if errs := pin.Unexport(); errs != nil {
  				err = multierror.Append(err, errs)
  			}
  		}
  	}
  	if e.i2cBus != nil {
  		if errs := e.i2cBus.Close(); errs != nil {
  			err = multierror.Append(err, errs)
  		}
  	}
  	return
  }
docs: // Finalize releases all i2c devices and exported analog, digital, pwm pins.