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.
{
    AssertLockHeld(cs_);
    std::set< std::set<CTxDestination> > groupings;
    std::set<CTxDestination> grouping;
    for (const auto& Entry : mapWallet)
    {
        const CWalletTx& wtx = Entry.second;
        if (wtx.tx->vin.size() > 0)
        {
            bool any_mine = false;
             gro