It would be nice if the debug console had a little help page of itself, to describe the syntax to issue commands (also the nested ones), and a disclaimer that usage can be dangerous.

Maybe add a debug-console-only command like help that shows how to use nested commands and potentially other advanced tricks, and add 'for more information on using this console type XXX'.

See also:
- https://github.com/bitcoin/bitcoin/pull/7783#issuecomment-248274853
- https://github.com/bitcoin/bitcoin/issues/8544#issuecomment-240970925
- #8912 Console command paths cannot be specified correctly with backslashes
UniValue lastResult;
    unsigned nDepthInsideSensitive = 0;
    size_t filter_begin_pos = 0, chpos;
    std::vector<std::pair<size_t, size_t>> filter_ranges;
    auto add_to_current_stack = [&](const std::string& strArg) {
        if (stack.back().empty() && (!nDepthInsideSensitive) && historyFilter.contains(QString::fromStdString(strArg), Qt::CaseInsensitive)) {
            nDepthInsideSensitive = 1;
            filter_begin_pos = chpos;
        }
        
        if (stack.empty()) {
            stack.push_back(std::vector<std::string>());
        }
        stack.back().push_back(strArg);
    };
    auto close_out_params = [&]() {
        if (nDepthInsideSensitive) {
            if (!--nDepthInsideSensitive) {
                assert(filter_begin_pos);
                filter_ranges.push_back(std::make_pair(filter_begin_pos, chpos));
                filter_begin_pos = 0;
            }
        }
        stack.pop_back();
    };
    std::string strCommandTerminated = strCommand;
    if (strCommandTerminated.back() != '\n')
        strCommandTerminated += "\n";
    for (chpos = 0; chpos < strCommandTerminated.size(); ++chpos)
    {