ú΀p      None>L!This extracts results from a CSP.LLift an IO computation into the CSP monad. CSPs are only in IO temporarily.)Extract the current domain of a variable..Extract the current constraints of a variable. Is the variable currently bound?3Compute the size of the current domain of variable.'Create a variable with the given domainšThis performs a side-effect, writing to the given IORef but records this in the nondeterministic computation so that it can be undone when backtracking.gThe low-level function out of which constraints are constructed. It modifies the domain of a variable.'Add a constraint to the given variable.Assert a unary constraint.0Assert a binary constraint with arc consistency.¦Assert an n-ary constraint with arc consistency. One day this will allow for a heterogeneous list of variables, but at the moment they must all be of the same type.+Retrieve the current binding of a variable.¸Solve the given CSP. The CSP solver is a nondeterministic function in IO and this is the generic interface which specifies how the nondeterministic computation should be carried out.%Return a single solution to the CSP.  running with  !Return all solutions to the CSP.  running with !& "#$%&'       "#$%&'(       ! "#$%&'()csp_2Rp4XM6UtsTCaDWZP0JtXXControl.Monad.CSP CSPResultResultresultCSPunCSP DVContainer dvcIsBounddvcConstraints dvcABinding ConstraintDVdvDomain dvConstraintscspdomaindemonsisBound domainSizemkDVlocalWriteIORefrestrictDomain addConstraint constraint1 constraint2 constraintbindingsolveCSPoneCSPSolutionallCSPSolutionsnonde_JImKR7yKRPf8ngWbFQwcy1Control.Monad.Amb oneValueT allValuesT $fCSPResult[]$fCSPResult(,) $fCSPResultDV $fMonadCSP$fApplicativeCSP $fFunctorCSP