[ ] Make sure that it is not possible to generate an empty list (simply use the solver with the empty list as a target). This makes the changes in dc175a08eebd9a2abedb7db855d6d27643010c88 unnecessary.
[ ] Make sure that the stacks don't grow too large (harder)