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.
{
public:
    
    CTxDestination destChange = CNoDestination();
    
    std::optional<OutputType> m_change_type;
    
    bool m_add_inputs = true;
    
    bool fAllowOtherInputs = false;
    
    bool fAllowWatchOnly = false;
    
    bool fOverrideFeeRate = false;
    
    std::optional<CFeeRate> m_feerate;
    
    std::optional<unsigned int> m_confirm_target;
    
    std::optional<bool> m_signal_bip125_rbf;
    
    bool m_avoid_partial_spends = DEFAULT_AVOIDPARTIALSPENDS;
    
    bool m_avoid_address_reuse = false;
    
    FeeEstimateMode m_fee_mode = FeeEstimateMode::UNSET;
    
    int m_min_depth = DEFAULT_MIN_DEPTH;
    
    int m_max_depth = DEFAULT_MAX_DEPTH;