This used to be unindented to cover both branches of the `if/else` above. But now I need a slightly different handling of `result` for the `if` clause, as you can see above: it also uses `[dict(zip(syms, r))]`, but one has to discard dependent solutions. Thus when returning from the `if` clause we already have a dictionary; the code here that converts `result` to a dictionary (without the need to check for dependent solutions) has been indented into the `else` clause.