Separated evaluation constraints at runtime from compiling them

Different methods for evaluating the constraint and building the
constraint tree for compiling them.
Validated that corrected bug made no problems with haskell

Handling and / or in a logical not correct way does not change the
result of the haskell constraints. But using the complete layout
language may cause problems, so we used the fixed type in compiled
constraints.