Right now we can recurse until memory runs out. There should probably be a way to control the maximum stack size, with some default value