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.
}
        Instance->m_min_fee = CFeeRate(n);
    }
    if (gArgs.IsArgSet("-maxapsfee")) {
        const std::string max_aps_fee{gArgs.GetArg("-maxapsfee", "")};
        CAmount n = 0;
        if (max_aps_fee == "-1") {
            n = -1;
        } else if (!ParseMoney(max_aps_fee, n)) {
            error = AmountErrMsg("maxapsfee", max_aps_fee);
            return nullptr;
        }
        if (n > HIGH_APS_FEE) {
            warnings.push_back(AmountHighWarn("-maxapsfee") + Untranslated(" ") +
                              _("This is the maximum transaction fee you pay (in addition to the normal fee) to prioritize partial spend avoidance over regular coin selection."));
        }
        Instance->m_max_aps_fee = n;
    }
    if (gArgs.IsArgSet("-fallbackfee")) {
        CAmount nFeePerK = 0;
        if (!ParseMoney(gArgs.GetArg("-fallbackfee", ""), nFeePerK)) {
            error = strprintf(_("Invalid amount for -fallbackfee=<amount>: '%s'"), gArgs.GetArg("-fallbackfee", ""));
            return nullptr;
        }
        if (nFeePerK > HIGH_TX_FEE_PER_KB) {
            warnings.push_back(AmountHighWarn("-fallbackfee") + Untranslated(" ") +
                               _("This is the transaction fee you may pay when fee estimates are not available."));
        }
        Instance->m_fallback_fee = CFeeRate(nFeePerK);
    }