This took much longer than I would like, see this thread for more details: https://xi.zulipchat.com/#narrow/stream/354396-xilem/topic/Recursively.20returning.20views
DZIP6GYYVEBCMAVYZBB6AHNQCXPA3QMWLLVB6FVDKEE7XDFMK7WAC
el::div((
command_view(&state.command, arg_matches),
state
.command
.get_subcommands()
.map(|subcommand| {
command_view(
subcommand,
arg_matches.and_then(|arg_matches| {
arg_matches.subcommand_matches(subcommand.get_name())
}),
)
})
.collect::<Vec<_>>(),
))
.attr("id", "sidebar")
el::div(command_view(&state.command, arg_matches)).attr("id", "sidebar")