Currently each structure maintains its own domain in array representation, and an inverse index from setting ids to values. Many structures will use the same domains though, so we should re-use these definitions. One way to do this without making the current code more complicated is to think of this as a post-processing step on the generated code that detects expressions that can be reused.
Currently each structure maintains its own domain in array representation, and an inverse index from setting ids to values. Many structures will use the same domains though, so we should re-use these definitions. One way to do this without making the current code more complicated is to think of this as a post-processing step on the generated code that detects expressions that can be reused.