Every variable can only be assigned once currently, which causes problems when the paths to a next step can differ based on a multiple choice.
A topic exists in an issue logging bot, that leads to adding a value to an issue log table. In the first multiple choice, one can choose the category (i.e. customer, product, location, other) and depending on what is chosen, different fields can be required (i.e "product" can required an ID + description, while in "other" only a description is required). You can't refer to multiple subtopics because they can't give back "description", you can't link them both to the same flow because one never gets an "ID" input).
Therefore the bot's structure must always branch out and duplicate as you can only enter one value into a flow's input, while different subtopics would give back description, description1, description2 etc.
A possible workaround is to allow functions as inputs, such as Input Description = coalesce(description, description1, description2) ignoring the call to a question if at least one of the variables is initialized.