Made a test which exposed an error in the zone splitting
mechanism. Made a change that kinda sorta fixes this, at the cost of
making many redundant and empty zones.
OK, the new example named 7.txt brings out an error where the number
of constraints apparently becomes too damn high and our program starts
occupying RAM linearly with time until the computer crashes. Going to
move on and fix this, somehow, then functorialise everything and move
to the udbm libraries (hopefully).
I started working on minimising the zones and zone lists to cut down
on explosion... and then I realised this is where UDBM comes in. In
subsequent commits, I hope to implement this using UDBM. Right now, we
have something that works for very small test cases and fails if you even
think of using a bigger test case.