fixes #225. The command now completes successfully. Had to also patch the constraint checker. This commit also includes some simplifications to the constraint collectors to improve maintainability.