Currently all BUY requests are transformed into SELL requests behind-the-scenes. That means any cost slippage the user requests gets added to the amount of token to be sold, and there's a high likelihood that the swap ends up giving more of the output token than the BUY request was for. For situations where only an exact amount of output token is desired (swapping for just enough of a token to make a purchase with it, and the user doesn't want any "dust" left over), provide the means for the user to specify "if there is positive slippage, CHARGE ME LESS input token, rather than GIVE ME MORE output token" This would likely take the form of the user giving the swap infrastructure a greater Allowance of the input ERC20 (estimated value needed, plus slippage tolerance), and the swap action only using just enough of the input token to match the desired output amount, leaving some remaining Allowance of the input ERC20.