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.
A simple way to think about this is from the 's point of view we
     always want the blockchain to move forward. By setting nLockTime this
     way we're basically making the statement that we only want this
     transaction to appear in the next block; we don't want to potentially
     encourage reorgs by allowing transactions to appear at lower heights
     than the next block in forks of the best chain.
    
     Of course, the subsidy is high enough, and transaction volume low
     enough, that fee sniping isn't a problem yet, but by implementing a fix
     now we ensure code won't be written that makes assumptions about
     nLockTime that preclude a fix later.
    if (IsCurrentForAntiFeeSniping(chain, block_hash)) {
        locktime = block_height;
         Sec
         tha
         e.g
         bet
        if (GetRandInt(10) == 0)
            locktime = std::max(0, (int)locktime - GetRandInt(100));
    } else {
         If 
         the 
         uni
        locktime = 0;
    }
    assert(locktime < LOCKTIME_THRESHOLD);
    return locktime;
}
OutputType CWallet::TransactionChangeType(const std::optional<OutputType>& change_type, const std::vector<CRecipient>& vecSend) const