Cleanup and simplify commutePaths. Always return a new patch when commuting, remains to be seen if this will be a perf/mem problem