Would it be completely unreasonable to allow `fundrawtransaction` to use unsafe outputs?

I understand this means the resulting transaction may be invalidated whenever the unsafe output I'm relying one disappears (e.g. because the transaction that produced it was RBF-ed) but in my case that's ok, I'll react to that and re-publish the tree of child transactions accordingly.

But let me know if you think that's too much of a footgun for users, in that case I'll architect my solution differently.
if (bnb_used) {
                            coin_selection_params.use_bnb = false;
                            continue;
                        }
                        else {
                            error = _("Insufficient funds");
                            return false;
                        }
                    }
                } else {
                    bnb_used = false;
                }
                const CAmount nChange = nValueIn - nValueToSelect;
                if (nChange > 0)
                {
                     Fil
                    CTxOut newTxOut(nChange, scriptChange);
                     Nev
                     add 
                     The 
                    if (IsDust(newTxOut, coin_selection_params.m_discard_feerate) || bnb_used)
                    {
                        nChangePosInOut = -1;
                        nFeeRet += nChange;
                    }
                    else
                    {