An IR constraint: a comparison or arithmetic predicate.
Comparison constraints have result: nil. Arithmetic constraints have
result: {:var, name}.
Summary
Types
@type t() :: %ExDatalog.IR.Constraint{ left: ExDatalog.IR.ir_term(), op: ExDatalog.Constraint.op(), result: ExDatalog.IR.ir_term() | nil, right: ExDatalog.IR.ir_term() }