moduleshape identifier implementation
rename inclusion gard to avoid confusions
- define geometry types for easy user type comparison
- make equations unique in a constraint expression