An inevitably messy framework for solving constraint satisfaction problems.