Wat is the benefit of using finite domains instead of just constraining a var to a set of values with membero?
It has optimisations that mean not all values need to be specified up front; e.g. you can specify a lower and upper bound on a constraint, and it can operate and propagate constraints on the intervals directly.
Also it gives you relational versions of operators like <
>
+
-
etc that leverage the above.