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.
{
    
    const std::string name = ->GetName();
    {
        LOCK(g__release_mutex);
        auto it = g_unloading__set.insert(name);
        assert(it.second);
    }
    
    
    
    ->NotifyUnload();
    
    .reset();
    {
        WAIT_LOCK(g__release_mutex, lock);
        while (g_unloading__set.count(name) == 1) {
            g__release_cv.wait(lock);
        }
    }
}
namespace {
std::shared_ptr<CWallet> LoadWalletInternal(interfaces::Chain& chain, const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings)