code: func Handle(macPayload []byte, mic lorawan.MIC, gwMACs []lorawan.EUI64, iPol bool, frequency, dr int) error {
  	ctx := proprietaryContext{
  		MACPayload:  macPayload,
  		MIC:         mic,
  		GatewayMACs: gwMACs,
  		IPol:        iPol,
  		Frequency:   frequency,
  		DR:          dr,
  	}
  
  	for _, t := range tasks {
  		if err := t(&ctx); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // Handle handles a proprietary downlink.