Module Shape.Sint
Symbolic integers.
Arithmetic computes on integers, and builds nodes as soon as an operand is symbolic. It is exact: a result that does not fit an int raises Invalid_argument.
The type for conditions on symbolic integers: known, or a boolean node.
resolve ~default c is c's value if known, and Shape.resolve's otherwise.
truth c is c's value if known, and Shape.to_bool's otherwise.
equal s0 s1 is true iff both are the same integer or the same node. It does not decide whether two nodes have the same value.