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.
{
    uint64_t _creation_flags = options.create_flags;
    const SecureString& passphrase = options.create_passphrase;
    if (_creation_flags & WALLET_FLAG_DESCRIPTORS) options.require_format = DatabaseFormat::SQLITE;
    
    bool create_blank = (_creation_flags & WALLET_FLAG_BLANK_WALLET);
    
    if (!passphrase.empty()) {
        _creation_flags |= WALLET_FLAG_BLANK_WALLET;
    }
    
    if ((_creation_flags & WALLET_FLAG_EXTERNAL_SIGNER) && !(_creation_flags & WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
        error = Untranslated("Private keys must be disabled when using an external signer");
        status = DatabaseStatus::FAILED_CREATE;
        return nullptr;
    }
    
    if ((_creation_flags & WALLET_FLAG_EXTERNAL_SIGNER) && !(_creation_flags & WALLET_FLAG_DESCRIPTORS)) {
        error = Untranslated("Descriptor support must be enabled when using an external signer");
        status = DatabaseStatus::FAILED_CREATE;
        return nullptr;