code: func (l *Link) Close(ctx context.Context) error {
  	span, ctx := tracing.StartSpanFromContext(ctx, "az-amqp-common.rpc.Close")
  	defer span.End()
  
  	if err := l.closeReceiver(ctx); err != nil {
  		_ = l.closeSender(ctx)
  		_ = l.closeSession(ctx)
  		return err
  	}
  
  	if err := l.closeSender(ctx); err != nil {
  		_ = l.closeSession(ctx)
  		return err
  	}
  
  	return l.closeSession(ctx)
  }
docs: // Close the link receiver, sender and session