Exercise 4.38 - starting amb-based puzzle solvers