There are currently four situations in which you get an error when trying to extract a submicroflow:
Number 1: Extracting a selection that contains an event (endpoint or startpoint)
Number 2: Extracting a selection that has an annotation that is not included in the selection
Number 3: Extracting a selection that contains more than one sequence flow output (or input)
Number 4: Extracting a submicroflow in which you have one or more variables / objects that are used outside of the submicroflow
For number 1, there is already a forum idea here (please vote for it!).
For number 2, it's kind of annoying that it requires you to close the error and either reselect your submicroflow with the annotation, or remove the line to the annotation. If you/re giving us a pop-up anyway, it might be nice to give us the choice of either including the annotation in the submicroflow, or keeping the annotation in the main flow and removing the connecting line. Please marvel at my pro editing skills:
For point 3, what happens currently is that, to extract parts of your flow, you have to temporarily modify your flow so that it meets the requirements (e.g. by adding a merge) and then undoing your changes in the submicroflow (e.g. by removing the merge and adding your two end points again). This is a hassle and serves no real purpose, so I would propose a solution like this:
And then after continuing, it could look something like this in the main flow:
And something like this in the microflow:
As for number 4, something similar to the above could be done where you choose if you still want to extract to a submicroflow or continue and fix the resulting issues yourself.
So to summarize, it would be great if Studio Pro simply warned you if you try to extract a flow that will lead to issues, and then let the user choose if you want to continue the extraction or cancel it.