ConstantColoringAlgorithm is peculiar because it builds the coloring result right away, and then returns the same object over and over again. If people use it from several threads it can lead to race conditions, but only for result types that contain scratch memory (aka acyclic coloring or linear system). This is not possible at the moment but we should remain aware of it if we extend ConstantColoringAlgorithm to the symmetric case