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.
}
    CMutableTransaction txNew;
    FeeCalculation feeCalc;
    CAmount nFeeNeeded;
    std::pair<int64_t, int64_t> tx_sizes;
    int nBytes;
    {
        std::set<CInputCoin> setCoins;
        LOCK(cs_);
        txNew.nLockTime = GetLocktimeForNewTransaction(chain(), GetLastBlockHash(), GetLastBlockHeight());
        {
            std::vector<COutput> vAvailableCoins;
            AvailableCoins(vAvailableCoins, true, &coin_control, 1, MAX_MONEY, MAX_MONEY, 0);
            CoinSelectionParams coin_selection_params;  Par
            coin_selection_params.m_avoid_partial_spends = coin_control.m_avoid_partial_spends;
             Cre
             TOD
             cha
            CScript scriptChange;
             coi
            if (!std::get_if<CNoDestination>(&coin_control.destChange)) {
                scriptChange = GetScriptForDestination(coin_control.destChange);
            } else {  no 
                 Not
                  Th
                  ba
                  If 
                  re
                  po
                 Res