I found this after wondering why the main data structure in the `nondeterminism` package on Hackage [1] was called `Amb`. Seems like this operator can be used to generate a constraint-solving engine elegantly.<p>[1] <a href="https://github.com/abarbu/nondeterminism-haskell" rel="nofollow">https://github.com/abarbu/nondeterminism-haskell</a>